Skip to content

factory-hygiene row 41 (orthogonal-axes audit) + fork-pr-workflow -1 gotcha#50

Merged
AceHack merged 1 commit intoLucent-Financial-Group:mainfrom
AceHack:orthogonal-axes-hygiene-plus-fork-pr-gotcha
Apr 21, 2026
Merged

factory-hygiene row 41 (orthogonal-axes audit) + fork-pr-workflow -1 gotcha#50
AceHack merged 1 commit intoLucent-Financial-Group:mainfrom
AceHack:orthogonal-axes-hygiene-plus-fork-pr-gotcha

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 21, 2026

Summary

Two changes, one PR — causally linked via this session's fork-PR test run (PR #49 landed batch 1 of the speculative drain via the AceHack fork, surfaced both items):

  1. FACTORY-HYGIENE row ci: listen on merge_group + document merge-queue plan #41 + BACKLOG P1 row — cadenced audit (every 5-10 rounds) that sweeps the factory's classification axes for overlap. Trigger: Aaron 2026-04-22 explicit ask — "we need to make sure all our axises are orthogonal to the others so there is not overlap ... When all your axes are orthogonal basis covered (meaning they are mutually perpendicular), the set of axes is called an orthogonal basis" + "i guess this is a cadence thing" + "backlog". The rule: every pair of factory classification axes (skill-category, hygiene-scope, persona-surface, cadence-bucket, memory-type, review-target, trust-tier, ...) must be mutually independent. Overlap = rank-reduction and duplicate naming. Distinct from the symmetry audit (row Round 33 — VISION v10: fastest-in-all-classes ambition (OLTP+OLAP+event+cache+streaming) #22): symmetry asks "is A paired with its mirror B?"; orthogonality asks "do axes A and B have zero overlap?"

  2. fork-pr-workflow skill — document the -1 suffix gotcha. When gh repo fork is run on a repo that was transferred out of your account, GitHub's 301 redirect record from the pre-transfer namespace reserves the plain name in your account, so gh repo fork silently names your fork <repo>-1. The skill now documents: (a) detection via curl -sI https://github.com/<you>/<repo> showing HTTP 301, (b) recovery via gh repo rename --repo <you>/<repo>-1 <repo> (fork owner can override their own redirect record), (c) confirmation that existing cross-repo PRs continue to work after the rename because GitHub tracks PR head by repo ID not name. This is a contributor-facing UX fix — future contributors hit documented recovery instead of unexpected -1.

Test plan

…gotcha

Two changes, one PR (causally linked via this session's
fork-PR test run):

1. FACTORY-HYGIENE row Lucent-Financial-Group#41 + BACKLOG P1 row — cadenced audit
   (every 5-10 rounds) that sweeps the factory's classification
   axes for overlap. Distinct from row 22 (symmetry): symmetry
   asks "is A paired with its mirror B?"; orthogonality asks
   "do axes A and B have zero overlap?" Triggered by Aaron
   2026-04-22: "also we need to make sure all our axises are
   orthogaonal to the others so therre is not overlap, like
   fully ... the set of axes is called an orthogonal basis"
   + "i guess this is a cadence thing" + "backlog". Durable
   rule in feedback_orthogonal_axes_factory_hygiene.md
   (memory-only, not in repo).

2. fork-pr-workflow skill — document the "-1 suffix" gotcha
   that `gh repo fork` produces when the forker's namespace
   has a redirect record blocking the target name (common
   after transferring a repo away and then forking it back).
   Surfaced during this session when forking
   Lucent-Financial-Group/Zeta back to AceHack — the forked
   repo landed at AceHack/Zeta-1 because AceHack/Zeta still
   redirected to LFG/Zeta post-transfer. Recovery is
   `gh repo rename --repo <you>/<repo>-1 <repo>` (the forker
   owns the redirect record and can override it). Added as a
   subsection under "Initial setup".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 21, 2026 15:16
@AceHack AceHack enabled auto-merge (squash) April 21, 2026 15:16
@AceHack AceHack merged commit 26ac683 into Lucent-Financial-Group:main Apr 21, 2026
13 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation for a new cadenced “orthogonal-axes audit” hygiene item and captures a fork-based contribution workflow edge case where gh repo fork may create <repo>-1 due to a redirect record.

Changes:

  • Add FACTORY-HYGIENE row #41 defining an orthogonal-axes audit cadence and outputs.
  • Add a P1 BACKLOG item to queue the first orthogonality audit pass + ownership decision.
  • Extend the fork-pr-workflow skill to document detection and recovery for gh repo fork -1 suffix forks.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
docs/FACTORY-HYGIENE.md Adds row #41 describing the orthogonal-axes cadenced audit.
docs/BACKLOG.md Adds a P1 backlog entry to run/operationalize the orthogonal-axes audit.
.claude/skills/fork-pr-workflow/SKILL.md Documents the -1 fork-name gotcha plus detection and recovery steps.

Comment thread docs/BACKLOG.md
Comment on lines +867 to +871
scope factory). Durable rule in
`memory/feedback_orthogonal_axes_factory_hygiene.md`. **Work
queued here:** (a) first audit pass — enumerate current
factory axes, build pairwise overlap matrix, flag per-pair
verdicts (collapse / keep-and-document / split); (b)
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

memory/feedback_orthogonal_axes_factory_hygiene.md is referenced as a “durable rule” here, but that file does not exist under memory/ (and docs/FACTORY-HYGIENE.md currently calls it “to be written”). This creates a broken pointer and makes it unclear where the canonical write-up lives. Either add the memory file in this PR or change this reference to match the current state (e.g., mark it as to-be-written / point at the actual existing source-of-truth).

Suggested change
scope factory). Durable rule in
`memory/feedback_orthogonal_axes_factory_hygiene.md`. **Work
queued here:** (a) first audit pass — enumerate current
factory axes, build pairwise overlap matrix, flag per-pair
verdicts (collapse / keep-and-document / split); (b)
scope factory) is the current source of truth; durable
memory file `memory/feedback_orthogonal_axes_factory_hygiene.md`
still to be written. **Work queued here:** (a) first audit
pass — enumerate current factory axes, build pairwise
overlap matrix, flag per-pair verdicts (collapse /
keep-and-document / split); (b)

Copilot uses AI. Check for mistakes.
AceHack added a commit to AceHack/Zeta that referenced this pull request Apr 21, 2026
…+ map-completeness BACKLOG + map-drift log

Aaron 2026-04-22 flagged two related smells during LFG budget audit:

(1) "i'm supprised you got the url wrong given you mapped it" +
    "that should be a smell when that happen to a surface you
    already have mapped"

    Agent invented /orgs/.../billing/budgets (404) despite
    docs/research/github-surface-map-complete-2026-04-22.md
    already being the complete mapping. FACTORY-HYGIENE row Lucent-Financial-Group#50
    codifies the smell as:
    - Pre-call: grep the map before `gh api <path>`.
    - Post-call: 410/301 on a mapped endpoint auto-proposes a
      map-update.
    - Cadenced: 5-10 round replay of mapped endpoints to catch
      silent renames.

(2) "missing map hygene on backlog?"

    Complementary proactive audit that row Lucent-Financial-Group#50 doesn't cover:
    "does the map cover all surfaces we actually touch?".
    Filed as P1 BACKLOG row under factory/tooling section.
    Known gaps surfaced by the triggering incident: GitHub
    org spending-budget UI (now mapped as `ui-only`); Copilot
    Business per-feature toggle state; coding-agent / internet-
    search enablement flags.

Same incident revealed separate map-drift:
/orgs/{org}/settings/billing/actions returned 410 with
documentation_url: https://gh.io/billing-api-updates-org.
Logged in new "Map drift log" section of the research doc;
old-path preserved, successor TBD per GitHub's migration doc.

New "UI-only surfaces" subsection in the research doc
documents surfaces with no REST equivalent (budget management,
audit-log on Team plan) so agents don't waste attempts on
non-existent paths. Budget management stays in the *forbidden*
class per the LFG paid-Copilot memory.

Memory:
- memory/feedback_surface_map_consultation_before_guessing_urls.md
- MEMORY.md index entry added.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit to AceHack/Zeta that referenced this pull request Apr 21, 2026
…+ map-completeness BACKLOG + map-drift log (#8)

Aaron 2026-04-22 flagged two related smells during LFG budget audit:

(1) "i'm supprised you got the url wrong given you mapped it" +
    "that should be a smell when that happen to a surface you
    already have mapped"

    Agent invented /orgs/.../billing/budgets (404) despite
    docs/research/github-surface-map-complete-2026-04-22.md
    already being the complete mapping. FACTORY-HYGIENE row Lucent-Financial-Group#50
    codifies the smell as:
    - Pre-call: grep the map before `gh api <path>`.
    - Post-call: 410/301 on a mapped endpoint auto-proposes a
      map-update.
    - Cadenced: 5-10 round replay of mapped endpoints to catch
      silent renames.

(2) "missing map hygene on backlog?"

    Complementary proactive audit that row Lucent-Financial-Group#50 doesn't cover:
    "does the map cover all surfaces we actually touch?".
    Filed as P1 BACKLOG row under factory/tooling section.
    Known gaps surfaced by the triggering incident: GitHub
    org spending-budget UI (now mapped as `ui-only`); Copilot
    Business per-feature toggle state; coding-agent / internet-
    search enablement flags.

Same incident revealed separate map-drift:
/orgs/{org}/settings/billing/actions returned 410 with
documentation_url: https://gh.io/billing-api-updates-org.
Logged in new "Map drift log" section of the research doc;
old-path preserved, successor TBD per GitHub's migration doc.

New "UI-only surfaces" subsection in the research doc
documents surfaces with no REST equivalent (budget management,
audit-log on Team plan) so agents don't waste attempts on
non-existent paths. Budget management stays in the *forbidden*
class per the LFG paid-Copilot memory.

Memory:
- memory/feedback_surface_map_consultation_before_guessing_urls.md
- MEMORY.md index entry added.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 23, 2026
Aaron 2026-04-23: "we probalby need some meta iteam to
refactor the backlog base on current knowledge and look
for overlap, this is hygene we could run from time to
time so our backlog is not just a dump".

Wires the directive to the existing meta-hygiene cadence
(same 5-10 round cadence as rows #5 / #23 / #38 / #46).
Five passes per firing: overlap cluster / stale retire /
re-prioritize / knowledge absorb / document via
ROUND-HISTORY.

Row #54 (rather than #53) to avoid collision with the
AutoDream cadenced consolidation row on the
research/autodream-extension-and-cadence branch (PR #155,
still open) which already claimed #53.

Classification per row #50: detection-only-justified —
accumulated drift (overlap, staleness, priority-drift,
knowledge-gap) is inherently post-hoc.

Governing rule lives in per-user memory:
feedback_backlog_hygiene_cadenced_refactor_look_for_overlap_not_just_dump_2026_04_23.md

Self-scheduled free work under the 2026-04-23 scheduling-
authority rule.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 23, 2026
…#166)

* hygiene: row #54 — backlog-refactor cadenced audit

Aaron 2026-04-23: "we probalby need some meta iteam to
refactor the backlog base on current knowledge and look
for overlap, this is hygene we could run from time to
time so our backlog is not just a dump".

Wires the directive to the existing meta-hygiene cadence
(same 5-10 round cadence as rows #5 / #23 / #38 / #46).
Five passes per firing: overlap cluster / stale retire /
re-prioritize / knowledge absorb / document via
ROUND-HISTORY.

Row #54 (rather than #53) to avoid collision with the
AutoDream cadenced consolidation row on the
research/autodream-extension-and-cadence branch (PR #155,
still open) which already claimed #53.

Classification per row #50: detection-only-justified —
accumulated drift (overlap, staleness, priority-drift,
knowledge-gap) is inherently post-hoc.

Governing rule lives in per-user memory:
feedback_backlog_hygiene_cadenced_refactor_look_for_overlap_not_just_dump_2026_04_23.md

Self-scheduled free work under the 2026-04-23 scheduling-
authority rule.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* hygiene #54: address Copilot review — contributor-name + memory-path

Two of the three findings addressed:
- Replace "Aaron 2026-04-23" with "the human maintainer
  2026-04-23" (+ "Aaron-scope boundary" → "Maintainer-scope
  boundary") per contributor-name guidance
- Clarify the governing-rule memory lives in per-user memory
  (not in-repo); absolute path given; no in-repo pointer to
  a non-existent file

Third finding (row #54 out of numeric order) will be replied
inline with rationale — #53 is reserved for PR #155's
AutoDream cadenced-consolidation row still open; #54 gives
clean numbering on merge. Not a bug — intentional reservation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 23, 2026
…ment-based review cadence) (#217)

Human maintainer 2026-04-23 Otto-58 named a NEW hygiene class distinct
from the ~57 mechanically-verifiable FACTORY-HYGIENE rows:

  "agents review hygene on a cadence for a specific type of thing,
   this one is look for generalization opportunities in the code,
   for example the docker for reproducability for multi agent review
   can be generalize to everyting in the project, all applieas to
   code skills docs everyting"
  "backlog"

Key insight: existing FACTORY-HYGIENE rows check "did we do X?"
(mechanical, binary). This class asks "are we applying principle P
wherever P applies?" (judgment, scope-extension). Complementary, not
duplicative.

BACKLOG row filed under new P1 section "Principle-adherence review
cadence (Otto-58 new hygiene class)". M effort.

Worked example: Docker-for-reproducibility (currently scoped to
multi-agent peer-review per Otto-55/57) generalizes to devcontainer,
per-sample Dockerfile, benchmark-harness containers, Craft module
build envs, CI image pinning. Review emits these as BACKLOG
candidates; per-candidate ROI decides which to implement.

First-pass principle catalogue (12 principles): git-native/in-repo-
first/samples-vs-production/applied-default/honest-about-error/
Codex-as-reviewer/detect-first/honor-those-before/Docker-repro/
CLI-first/trust-approval/split-attention.

Protocol shape:
  1. Define principle (1 sentence + memory citation)
  2. Current scope (1-2 concrete examples)
  3. Bounded sweep (N minutes, top-K candidates)
  4. Emit per-candidate BACKLOG rows
  5. ROUND-HISTORY row noting the review

Cadence: every 10-20 rounds per principle; sharded across agents by
principle class; first-pass triggered by principle-introduction events.

Classification (row #50): detection-only-justified — generalization
opportunities are inherently post-hoc.

Composes with row #23 (missing-class) + #22 (symmetry) + #41 (orthogonal-
axes) as judgment-based meta-audit triad/quad.

Per-user memory: project_principle_adherence_review_new_hygiene_class_
cadenced_judgment_on_generalization_opportunities_2026_04_23.md

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…CKLOG + map-drift log

Aaron 2026-04-22 flagged two related smells during LFG budget audit:

(1) "i'm supprised you got the url wrong given you mapped it" +
    "that should be a smell when that happen to a surface you
    already have mapped"

    Agent invented /orgs/.../billing/budgets (404) despite
    docs/research/github-surface-map-complete-2026-04-22.md
    already being the complete mapping. FACTORY-HYGIENE row #50
    codifies the smell as:
    - Pre-call: grep the map before `gh api <path>`.
    - Post-call: 410/301 on a mapped endpoint auto-proposes a
      map-update.
    - Cadenced: 5-10 round replay of mapped endpoints to catch
      silent renames.

(2) "missing map hygene on backlog?"

    Complementary proactive audit that row #50 doesn't cover:
    "does the map cover all surfaces we actually touch?".
    Filed as P1 BACKLOG row under factory/tooling section.
    Known gaps surfaced by the triggering incident: GitHub
    org spending-budget UI (now mapped as `ui-only`); Copilot
    Business per-feature toggle state; coding-agent / internet-
    search enablement flags.

Same incident revealed separate map-drift:
/orgs/{org}/settings/billing/actions returned 410 with
documentation_url: https://gh.io/billing-api-updates-org.
Logged in new "Map drift log" section of the research doc;
old-path preserved, successor TBD per GitHub's migration doc.

New "UI-only surfaces" subsection in the research doc
documents surfaces with no REST equivalent (budget management,
audit-log on Team plan) so agents don't waste attempts on
non-existent paths. Budget management stays in the *forbidden*
class per the LFG paid-Copilot memory.

Memory:
- memory/feedback_surface_map_consultation_before_guessing_urls.md
- MEMORY.md index entry added.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…CKLOG + map-drift log (#140)

Aaron 2026-04-22 flagged two related smells during LFG budget audit:

(1) "i'm supprised you got the url wrong given you mapped it" +
    "that should be a smell when that happen to a surface you
    already have mapped"

    Agent invented /orgs/.../billing/budgets (404) despite
    docs/research/github-surface-map-complete-2026-04-22.md
    already being the complete mapping. FACTORY-HYGIENE row #50
    codifies the smell as:
    - Pre-call: grep the map before `gh api <path>`.
    - Post-call: 410/301 on a mapped endpoint auto-proposes a
      map-update.
    - Cadenced: 5-10 round replay of mapped endpoints to catch
      silent renames.

(2) "missing map hygene on backlog?"

    Complementary proactive audit that row #50 doesn't cover:
    "does the map cover all surfaces we actually touch?".
    Filed as P1 BACKLOG row under factory/tooling section.
    Known gaps surfaced by the triggering incident: GitHub
    org spending-budget UI (now mapped as `ui-only`); Copilot
    Business per-feature toggle state; coding-agent / internet-
    search enablement flags.

Same incident revealed separate map-drift:
/orgs/{org}/settings/billing/actions returned 410 with
documentation_url: https://gh.io/billing-api-updates-org.
Logged in new "Map drift log" section of the research doc;
old-path preserved, successor TBD per GitHub's migration doc.

New "UI-only surfaces" subsection in the research doc
documents surfaces with no REST equivalent (budget management,
audit-log on Team plan) so agents don't waste attempts on
non-existent paths. Budget management stays in the *forbidden*
class per the LFG paid-Copilot memory.

Memory:
- memory/feedback_surface_map_consultation_before_guessing_urls.md
- MEMORY.md index entry added.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants