Summary
Optimus-Branch.json exists 1,076 times in the local estate. 1,073 of them are byte-identical (single sha256, 706B) and all sit at .github/rulesets/Optimus-Branch.json — a path GitHub does not read. Rulesets are API/UI objects; a JSON file committed at that path is applied by nothing unless a script applies it.
That alone would be tidiness. The reason this is filed is the next measurement: the 1,073 replicated copies are a STALE, WEAKER policy than the canonical one. If any applier ever consumes a copy, it downgrades the ruleset rather than failing.
All figures re-measured 2026-09-14T22:0xZ. An earlier carried figure of "79 files" was wrong by 13x — it was the scope of the 09-02 design doc, not the population on disk.
The population
| Variant |
sha256 (12) |
Bytes |
Count |
Path shape |
| replicated |
712e66e7aea1 |
706 |
1,073 |
.github/rulesets/Optimus-Branch.json |
| canonical |
800699d2f357 |
1,022 |
2 |
standards/config/rulesets/, worktrees/standards-ws0-taxonomy/config/rulesets/ |
| one-off |
a322fcb54a28 |
1,014 |
1 |
hermeneia/.github/rulesets/ |
Distribution of the 1,073: hyper-repos/ 517, archive/ 425, meta-repos/ 79, tools/ 27, gists/ 23, dev-notes/ 2, oikosbot-estate/ 1, .github/ 1.
The actual hazard: the replicated copy is the weaker policy
diff of a 706B copy against the 1,022B canonical — the canonical has everything the copies have, plus:
> "require_extra_approval_for_unattributed_changes": true,
> "required_reviewers": [],
> {
> "type": "required_status_checks",
> "parameters": {
> "strict_required_status_checks_policy": true,
> "do_not_enforce_on_create": false,
> "required_status_checks": []
So the 1,073 copies are missing the unattributed-changes approval requirement and the entire required_status_checks rule block. Both carry bypass_actors: [], 2 approvals, code-owner review, required signatures, squash-only — which is why a human diffing casually reads them as "the same strict ruleset".
The design doc lists eight applier scripts (§7.4, seven of them slated for retirement). An applier pointed at a stale copy would silently weaken governance while reporting success. This is the estate's recurring shape: the failure looks like a success.
Inertness — what was measured, and what was not
Measured:
- GitHub does not read rulesets from repo files, so
.github/rulesets/ is not a live surface.
- A bounded grep for
\.github/rulesets, config/rulesets, rulesets/Optimus over standards/, .git-private-farm/, tools/, .github/, dev-notes/ (*.sh *.yml *.yaml *.py *.mjs justfile) returned exactly one hit: standards/tests/test_governance_reusable_shape.sh.
- That one consumer reads
config/rulesets/gates.json — not Optimus-Branch.json — and the test is itself named by no workflow and no justfile (only by gates.json and a design doc). So the sole consumer is an inert guard, the defect class already tracked estate-wide.
Not measured, stated rather than assumed: the sweep was bounded to the governance and automation trees. The tree holds 1,000+ repos, so a consumer could exist in a repo I did not open. The claim is no consumer found in the places automation lives, not no consumer exists.
Two adjacent defects found while measuring
- The design doc's canonical pointer does not resolve. §7.4 states "canonical lives in
standards/rulesets/base.json". That path is MISSING. The real file is standards/config/rulesets/base.json (1,909B). A doc naming a canonical path that 404s is worse than naming none — it reads as authoritative. Same class as a dead resume pointer.
- A case-duplicate pair with different content in the canonical directory:
immutable-tags.json (542B, 104f0a5bdf41) and Immutable-Tags.json (332B, f2f337929e3c) — not a case-insensitive filesystem artefact, genuinely different bodies. Which is authoritative is undetermined. On a case-insensitive checkout one silently shadows the other.
Prior art, and why this is filed anyway
The 09-02 design doc already ruled committed ruleset directories "archive only". That ruling is correct and this issue does not dispute it. It is filed because the ruling was scoped to meta-repos/*/.github/rulesets/ — 79 of the 1,073 files, i.e. 7%. The other 993 were never in scope, and nothing stamps them non-authoritative, so nothing prevents an applier or a future agent from treating one as the source.
Requested fix — at the generator, not the 1,073 instances
- Single-source the canonical and correct §7.4's path to
config/rulesets/base.json so the pointer resolves.
- Stamp or remove the replicas. Either delete them, or add a
"_archive": true / header comment so a reader and a script can both tell a copy from the source. Deletion of 425 under archive/ is uncontroversial; the 517 under hyper-repos/ are live repos and are an owner call.
- Make the appliers refuse an unstamped file — an applier must resolve the canonical by a single declared path and fail closed if it does not resolve, rather than accepting whatever JSON it is handed. This is the same fail-closed rule adopted for name-keyed ruleset guards (an id-keyed guard goes inert silently;
14285635 protected nothing once the ruleset was recreated).
- Resolve the case-duplicate pair and assert one ruleset name maps to one file.
Read-only note on an open PR — not acted on
standards#789 deletes config/rulesets/Optimus-Branch.json — i.e. one of the two canonical copies — while all 1,073 stale replicas remain on disk. Flagging the interaction only; that PR is another session's surface, merge-nothing is in force, and nothing here touches its paths. Separately: deleting a declaration does not undeploy the live object. standards currently carries two active rulesets, 18110117 Immutable-Tags and 23359343 Optimus-Branch; removing a JSON file changes neither.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VG5AnnA12E8GikbXZS7NbD
Summary
Optimus-Branch.jsonexists 1,076 times in the local estate. 1,073 of them are byte-identical (single sha256, 706B) and all sit at.github/rulesets/Optimus-Branch.json— a path GitHub does not read. Rulesets are API/UI objects; a JSON file committed at that path is applied by nothing unless a script applies it.That alone would be tidiness. The reason this is filed is the next measurement: the 1,073 replicated copies are a STALE, WEAKER policy than the canonical one. If any applier ever consumes a copy, it downgrades the ruleset rather than failing.
All figures re-measured 2026-09-14T22:0xZ. An earlier carried figure of "79 files" was wrong by 13x — it was the scope of the 09-02 design doc, not the population on disk.
The population
712e66e7aea1.github/rulesets/Optimus-Branch.json800699d2f357standards/config/rulesets/,worktrees/standards-ws0-taxonomy/config/rulesets/a322fcb54a28hermeneia/.github/rulesets/Distribution of the 1,073:
hyper-repos/517,archive/425,meta-repos/79,tools/27,gists/23,dev-notes/2,oikosbot-estate/1,.github/1.The actual hazard: the replicated copy is the weaker policy
diffof a 706B copy against the 1,022B canonical — the canonical has everything the copies have, plus:So the 1,073 copies are missing the unattributed-changes approval requirement and the entire
required_status_checksrule block. Both carrybypass_actors: [], 2 approvals, code-owner review, required signatures, squash-only — which is why a human diffing casually reads them as "the same strict ruleset".The design doc lists eight applier scripts (§7.4, seven of them slated for retirement). An applier pointed at a stale copy would silently weaken governance while reporting success. This is the estate's recurring shape: the failure looks like a success.
Inertness — what was measured, and what was not
Measured:
.github/rulesets/is not a live surface.\.github/rulesets,config/rulesets,rulesets/Optimusoverstandards/,.git-private-farm/,tools/,.github/,dev-notes/(*.sh *.yml *.yaml *.py *.mjs justfile) returned exactly one hit:standards/tests/test_governance_reusable_shape.sh.config/rulesets/gates.json— notOptimus-Branch.json— and the test is itself named by no workflow and no justfile (only bygates.jsonand a design doc). So the sole consumer is an inert guard, the defect class already tracked estate-wide.Not measured, stated rather than assumed: the sweep was bounded to the governance and automation trees. The tree holds 1,000+ repos, so a consumer could exist in a repo I did not open. The claim is no consumer found in the places automation lives, not no consumer exists.
Two adjacent defects found while measuring
standards/rulesets/base.json". That path is MISSING. The real file isstandards/config/rulesets/base.json(1,909B). A doc naming a canonical path that 404s is worse than naming none — it reads as authoritative. Same class as a dead resume pointer.immutable-tags.json(542B,104f0a5bdf41) andImmutable-Tags.json(332B,f2f337929e3c) — not a case-insensitive filesystem artefact, genuinely different bodies. Which is authoritative is undetermined. On a case-insensitive checkout one silently shadows the other.Prior art, and why this is filed anyway
The 09-02 design doc already ruled committed ruleset directories "archive only". That ruling is correct and this issue does not dispute it. It is filed because the ruling was scoped to
meta-repos/*/.github/rulesets/— 79 of the 1,073 files, i.e. 7%. The other 993 were never in scope, and nothing stamps them non-authoritative, so nothing prevents an applier or a future agent from treating one as the source.Requested fix — at the generator, not the 1,073 instances
config/rulesets/base.jsonso the pointer resolves."_archive": true/ header comment so a reader and a script can both tell a copy from the source. Deletion of 425 underarchive/is uncontroversial; the 517 underhyper-repos/are live repos and are an owner call.14285635protected nothing once the ruleset was recreated).Read-only note on an open PR — not acted on
standards#789deletesconfig/rulesets/Optimus-Branch.json— i.e. one of the two canonical copies — while all 1,073 stale replicas remain on disk. Flagging the interaction only; that PR is another session's surface, merge-nothing is in force, and nothing here touches its paths. Separately: deleting a declaration does not undeploy the live object.standardscurrently carries two active rulesets,18110117 Immutable-Tagsand23359343 Optimus-Branch; removing a JSON file changes neither.🤖 Generated with Claude Code
https://claude.ai/code/session_01VG5AnnA12E8GikbXZS7NbD