Development record
The hand-maintained ADR index table (.abcd/development/decisions/adrs/README.md) ends at adr-42 and omits committed records adr-43 and adr-44; the record-lint index_drift rule registers four indexes but not the ADR index, so this largest hand index is ungated. Same file: .abcd/work/rulesets/README.md says 'seven required status checks' where main-protection.json now lists eight (external-review added)
The hand-maintained ADR index table (.abcd/development/decisions/adrs/README.md) ends at adr-42 and omits committed records adr-43 and adr-44; the record-lint index_drift rule registers four indexes but not the ADR index, so this largest hand index is ungated. Same file: .abcd/work/rulesets/README.md says 'seven required status checks' where main-protection.json now lists eight (external-review added)
Evidence
.abcd/development/decisions/adrs/README.md— the hand-maintained index table's last row isadr-42; committed records0043-inbound-equals-outbound-and-the-org-role.md(adr-43, accepted) and0044-remote-mutation-and-caller-identity.md(adr-44, proposed) have no rows. The README states appending the row is a manual edit..abcd/record-lint.json— theindex_driftrule registers four indexes (commands,planned-seams,research-children,later-phase-intents); the ADR index is not among them, so the drift is ungated.docs-lint.jsonroots exclude.abcd/development..abcd/work/rulesets/README.mdsays "the seven required status checks";.abcd/work/rulesets/main-protection.jsonlists eight contexts (external-review added): attribution, check (macos-latest), check (ubuntu-latest), external-review, gitleaks, record-lint, smoke, zizmor.
Adversarial review
CONFIRMED (substantive/nitpick) by two independent refuters: the ADR-index omission is real, committed on main, and structurally ungated (not covered by iss-38's four indexes); the ruleset-README miscount is real and inside the file whose purpose is to mirror the live ruleset. Fix: append the two ADR rows and correct "seven" to "eight".
Frontmatter
| id | iss-296 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-296-the-hand-maintained-adr-index-table-abcd.md
open on GitHub ↗ · commit history ↗
mentions7
- adr-42The guard's parse layer is a mistake filter, not a security boundary — matching is two-tier, and completeness is abandoned as a goal
- adr-43Contributions are inbound = outbound MIT, and the trust boundary is the organisation's role ladder
- adr-44abcd never mutates a remote uninvited, and identity derives from caller-local facts
- dcn-26081900000000032026-08-19 — bughunt round 1 (branch bughunt-b/round-1): captured iss-291..iss-304 and fixed
- iss-38hand-maintained index drift: intents/README.md corpus listings have drifted from the filesystem; commands/README.md lists three of the seven plugin verb files; internal/README.md still describes core as two capabilities with adapter/scanner as a planned seam; the repo README Layout omits skills/ from the plugin surface. Detector (per adr-5 derive-dont-store): hand enumerations of sibling files are generated or deleted — a lint flags a README that enumerates directory contents by hand, or the enumeration is emitted by tooling with a drift test. Acceptance corpus: the four stale indexes above.
- iss-374The hand-maintained ADR index lists adr-44 as proposed but the record frontmatter is accepted; the index drifted after status was flipped without updating the index
- iss-2608211144555085The ADR index (.abcd/development/decisions/adrs/README.md) ends at the adr-44 row while adr-45 is accepted (2026-08-20) and cited as settled law by six live records (the invariants brief, itd-114, spc-33, .abcd/work/issues/README.md, two open issues, DECISIONS.md). 37 ADR files vs 36 index rows — exactly one missing. The index is the declared hand-maintained roll-call (adrs/README.md) and is not among index_drift's four registered indexes, so it is structurally ungated. Third recurrence of this class in the same table (after resolved iss-296 and iss-374), which iss-38's decision (hand-kept indexes must be deleted or gated) predicts.