Development record
The brief states the design and why; each command's page states what abcd does, once, and is the copy checked against the code
Context
Each abcd command's behaviour (what it refuses, what it prints, the steps it takes,
its exit codes) was written out twice by hand: in the brief's chapter for the
command under 04-surfaces/, and in the command page under commands/ that an
agent loads and follows when it runs the command. adr-2609231028044006 settled
the shape half of a chapter (flags and sub-verbs come from a generated appendix,
and the prose states none) and left behaviour "hand-maintained", as "a
review-grain claim", in the chapter. The documentation-fidelity gate of itd-60
checks the brief against the code; nothing checks the command pages. itd-147 and
itd-60 made the brief the shipped state.
The brief-size study of 2026-10-25
(.abcd/development/research/notes/2026-10-25-brief-size-study.md) measured what
that costs. The brief held about 247,000 words; readers put about
69% of it as restating another file, and the command chapters alone at 76%
(about 121,000 words). Only about 15% repeated another file word for word, so
the duplication was paraphrase, not copy-paste, and the two copies had drifted
apart in both directions: some command pages were wrong where the chapter was
right, and some chapters wrong where the page was right. The consistency pass
of 2026-10-26 read the brief and the intents against each other and filed
1,301 records; 1,080 of its 1,307 findings had a passage of the brief at one
end.
Decision
The product thinker ruled on 2026-10-27 (dcn-2610271112331508, dcn-2610271112339516, dcn-2610271112330235):
- Every claim has one home, as the principle every claim has one home states.
- A command's behaviour lives in its command page. The page under
commands/is the one home of what the command does: its refusals, its output, its steps and its exit codes. The documentation-fidelity check moves to the command pages: a false sentence there holds a spec close and a release cut, as a false sentence in the brief does today. - The brief states the design and why. Each chapter under
04-surfaces/keeps why the command exists, the trade-offs taken and why it refuses what it refuses, its## Sub-verbstable and its generated appendix, and points to the command page for behaviour. The brief as a whole states the target design in the present tense; a part that is built carries a status tag saying so, rather than an unbuilt part being marked as staged.
The shape rule of adr-2609231028044006 is carried forward unchanged: every flag
and sub-verb a chapter states comes from its generated appendix, and the prose
above it states none. TestSurfaceAppendicesMatchCommandTree and
TestSurfaceChapterProseStatesNoShape keep holding it.
Alternatives Considered
- The chapter as the home, with the command page keeping only the agent's steps. Keeps the design record complete in one place, but the copy agents follow loses what they need to act, and the copy that does harm when wrong stays unchecked. Rejected by the ruling.
- Both copies, and a check that reads each pair against the other. Moves nothing, but every change is still written twice and the measured upkeep stays. Rejected by the ruling's first point.
- The brief as the shipped state, unbuilt parts marked (itd-147, itd-60). Kept checkable against the code, but once behaviour moves to the command pages the brief has nothing left to check against the code, and the person wants it to read as the product they are building. Superseded.
Consequences
- The behaviour passages of every
04-surfaces/chapter move to their command page, or are cut where the page already says it; this is the brief's single-home rewrite the 45 deferred consistency majors wait on. - The documentation-fidelity gate, its review instructions and its receipts read the command pages, and no longer the brief, for claims about behaviour.
- itd-147's and itd-60's statement that the brief is the shipped state, the
phase document that says so (
roadmap/phases/phase-8-brief-currency.md), and invariant 18's wording are amended by the rewrite, pointing here. - adr-5 ("the brief is the project's current state") still holds: the target
design is the decided state. The truth rule in
00-meta.mdchanges its one variance from "shipped vs staged" to "built or not yet", tagged on the built. - A command page now carries the claims the gate checks, so its prose is held to the same review grain as a chapter's was.
Frontmatter
| id | adr-2610290238168123 |
|---|---|
| type | adr |
| status | accepted |
| date | 2026-10-29 |
.abcd/development/decisions/adrs/2610290238168123-the-brief-states-the-design-and-why-each.md
open on GitHub ↗ · commit history ↗
References6
- adr-5Brief is the current state; no version label, no archive directoryrelated
- adr-2609231028044006Shape claims in the brief's surface chapters are derived, never hand-authoredrelated
- adr-2609231028044006Shape claims in the brief's surface chapters are derived, never hand-authoredsupersedes
- itd-60When A Surface Ships, The Brief Describes It — Or The Intent Does Not Reach Shippedrelated
- itd-147The brief's surface chapters are a generated reflection of the shipped surface, so a shape claim cannot driftrelated
- itd-2610290239150589The brief reads as the design and why, and each command's behaviour is written once, in the page agents followrelated
mentions4
- dcn-26102711123302352026-10-27 — The product thinker ruled on 2026-10-27 that the design brief shows the target design, in the present tense, with a status tag where a part is built, rather than the shipped state. With the ruling that behaviour lives in the command pages, the brief holds the product as aimed for and why, and the command pages hold what abcd does today. This reverses itd-147's currency rule, so a superseding ADR is owed, and the brief's checks are rebuilt around the status overlay.
- dcn-26102711123315082026-10-27 — The product thinker ruled that every claim in the record has a single home, and settled the second question of the [brief-size study](../../development/research/notes/2026-10-25-brief-size-study.md) with its recommended answers. The rule and its bounds live in [every claim has one home](../../development/principles/every-claim-has-one-home.md); what the ruling means for the brief, answer by answer, is in the scope of the brief-rewrite intent, itd-2610290239150589.
- dcn-26102711123395162026-10-27 — The product thinker ruled on 2026-10-27 that each abcd command's behaviour is written once, in its command page, which agents follow when they run it. The brief's chapter for the command keeps why the command exists, its trade-offs and why it refuses what it does, with its sub-verb table and generated appendix, and points to the command page for behaviour. The documentation-fidelity check moves to the command pages. This reverses the behaviour half of adr-2609231028044006 and invariant 18, so a superseding ADR is owed.
- itd-2610301346085246An agent learns how to call abcd from the abcd it runs