Development record
2026-07-14 — adr-35's blast radius across the record was FAR wider than the plan
2026-07-14 — adr-35's blast radius across the record was FAR wider than the plan
anticipated, and the line drawn is: the brief, glossary and roadmap are
reconciled; the intent corpus is NOT. An adversarial review (four hostile lenses,
every finding independently verified) found the first pass had rewritten the
vocabulary registry to the new model while ~14 other files still asserted the old
one as fact — including an INVARIANT (03-invariants.md #6), the product's own
press release, the verification matrix (which encoded adr-4's .bak overwrite as a
TEST GATE), and the lint-enforced glossary SSOT. A registry contradicting an accepted
ADR is drift of exactly the kind iss-35 exists to prevent, so all of it was swept.
The INTENTS (itd-2/8/9/10/13/15/19/22/24) were deliberately left alone and tracked as
iss-94: an intent is a proposal with its own lifecycle, and silently rewriting nine of
them inside an unrelated change is worse than recording the drift — each reconciles
when it is next planned. Where adr-35 genuinely does not settle a question (where
embark scan searches now that destinations are operator-chosen; what the /abcd
status board reads now that there is no in-tree lifeboat to stat), the text carries an
explicit Open question (adr-35) note rather than an invented answer.
Frontmatter
| id | dcn-2607140000000005 |
|---|---|
| type | decision |
| date | 2026-07-14 |
.abcd/work/decisions/dcn-2607140000000005-adr-35-s-blast-radius-across-the-record.md
open on GitHub ↗ · commit history ↗
mentions4
- adr-35The lifeboat is a coverage experiment — read-only, out-of-tree, and proven before it is packed (supersedes adr-4)
- iss-35brief-vs-shipped-surface reconciliation: 05-internals/08-skills.md claims abcd ships zero user-facing skills and six top-level commands while 04-surfaces/README.md itself tables nine and /abcd:consult and /abcd:ingest are shipped; the shipped skills violate the brief criterion that any artefact mutation is a command, not a skill; the skills/ layout described (abcd-ahoy, commit-attribution, secrets-and-pii) is fictional vs the real consult/ and ingest/; the implemented, user-reachable abcd docs lint and abcd history verbs have no home in 04-surfaces at all; the operator-internal paragraph contradicts the commands/ directory that exists. Detector (per spec-moves-with-the-surface): a record-lint cross-check that every entry under commands/ and skills/ resolves to a brief surface row, and every brief surface row resolves to a shipped or explicitly staged surface. Acceptance corpus: each falsified claim above — the check fails on all of them today. Fix amends the criterion or the surface in one change, never silently.
- iss-94The intent corpus still specifies the pre-adr-35 lifeboat model: itd-2, itd-8, itd-9, itd-10, itd-13, itd-15, itd-19, itd-22 and itd-24 variously use the retired 'disembark to home' signature, the in-tree .abcd/lifeboat/ home, or the in-tree .abcd/development/voyage/ path (itd-9's acceptance writes voyage provenance in-tree — the exact path that would fail abcd's own privacy-hygiene audit rule). The brief, glossary and roadmap were reconciled to adr-35; the intents were deliberately NOT rewritten, because an intent is a proposal with its own lifecycle and silently rewriting nine of them inside an unrelated change is worse than tracking the drift. Each reconciles when it is next planned.
- itd-2In-Session Subagent Dispatch — the Default Host-Delegated Oracle