Development record
A Human Edit To The Brief Cannot Commit Until Its Implied Intents And Principles Are Drawn Out And Reconciled
Press Release
abcd gains a brief-change derivation: when a human edits the brief directly, a grill-style pass draws out what that edit implies — new or changed intents, and new or changed cross-cutting principles (disciplines) — and the edit is blocked until each drawn-out item is accepted or dismissed. abcd already carries built reality forward into the brief and docs ([[itd-60-doc-fidelity-anti-drift]]). This is the reverse: a person changes the brief — adds a capability, tightens a rule, shifts the mental map — and the framework refuses to let the roadmap silently lag behind. It interrogates the edit the way the grill interrogates an intent, surfaces the implied
itd-Nintents and the implied disciplines, and reconciles each. Any change fires the pass; if an implied item is already captured (because the forward path authored it), the dedup recognizes it and no-ops.
"I edit the brief when my thinking moves — that's the whole point of it being a living canvas," said Iris, a product thinker steering abcd. "But an edit to the brief is a promise about the product, and promises imply work. If I write 'every surface must survive a restart' into the brief, that's a new discipline, and I shouldn't be able to walk away pretending it isn't. Make me reckon with what I just committed to — draw it out, let me accept or drop it — before the edit lands."
Why This Matters
The brief is abcd's single source of truth and a living canvas a human edits directly. That power is also a gap: a brief edit can introduce a capability or a cross-cutting rule that never becomes an intent or a discipline, so the roadmap silently falls behind the stated design. The forward direction ([[itd-60-doc-fidelity-anti-drift]]) keeps the brief in step with built reality; it cannot catch a brief that runs ahead of reality by human authorship. Only a reverse pass can.
abcd already owns the right instrument: the grill — a Socratic interview that draws out what a stated intention actually entails. Pointing that instrument at a brief edit (rather than a fresh intent) turns an ungoverned edit into a reconciled one: the implied intents and the implied principles are made explicit and either accepted into the roadmap or consciously dismissed. Blocking until reconciliation mirrors abcd's existing tamper-evident, fail-closed posture — a brief edit is consequential enough to deserve the same "you cannot proceed past an unresolved state" treatment that provenance and the reviewers already enforce.
What's In Scope
- A derivation pass triggered by any change to the brief: it analyses the edit (grill-style) and draws out the changes it implies.
- Two output kinds: new or updated intents (
itd-Ndrafts — when the edit implies a capability or changes an existing one) and new or updated principles (disciplines — when the edit implies a cross-cutting rule or invariant). - Blocking-until-reconciled semantics: the brief edit cannot be committed until each drawn-out item has been explicitly accepted (captured into the roadmap) or dismissed.
- Dedup against the forward path: because any brief change fires the pass — including brief edits the forward doc-fidelity pass itself auto-drafted ([[itd-60-doc-fidelity-anti-drift]]) — the derivation recognizes an already-captured implication and no-ops rather than producing a duplicate intent/principle.
- Reuse of the existing grill's interrogation machinery rather than a parallel re-implementation.
What's Out of Scope
- The forward direction. Carrying built reality into the brief and the public docs is [[itd-60-doc-fidelity-anti-drift]]. This intent only handles human-authored brief edits flowing back into the roadmap.
- Editing the brief's prose for the human. The pass draws out implications and reconciles them; it does not rewrite the human's brief edit.
- Auto-promoting drawn-out intents past draft. Implied intents land as drafts for the normal lifecycle; the pass does not skip grilling/planning.
- Sequencing/dependency decisions relative to itd-60 and itd-62 —
/abcd:intent plan's job.
Acceptance Criteria
Given-When-Then per the itd-1 discipline.
- Given a human edits the brief, when the derivation pass runs, then it draws out the intents and the principles (disciplines) that the edit implies, each as an explicit drawn-out item.
- Given the pass has drawn out implied items, when the human has not yet accepted or dismissed each one, then the brief edit is blocked from committing.
- Given an implied item is accepted, when the human accepts it, then it is recorded as a draft intent (
itd-N) and/or a principle, per its kind. - Given a brief change whose implications are already captured (e.g. authored by the forward doc-fidelity path), when the pass runs, then the dedup recognizes the existing item and the pass does not create a duplicate.
- Given the derivation cannot reliably run, when a brief edit is attempted, then the block holds (fail closed) rather than letting the edit commit unreconciled.
SOTA
Surveyed on 2026-10-23; sources, evidence tiers and the local fit risks are in the traceability-governance SOTA note. The classification half (a model proposes new intent, issue, contradiction or no impact; the product thinker confirms; the recall and precision figures) is in the 2026-10-04 brief-to-record traceability note; this pass researched where the block lives, the trivial-edit filter and the pass's shape.
- The block. git's
pre-commithook aborts the commit on a non-zero exit and "can be bypassed with the--no-verifyoption"; hooks are not tracked content. A hook is the early, loud copy; the gate that holds is the record-lint rule preflight and CI run, which is abcd's three-tier posture already. - Trivial edits are kept out by the fingerprint's scope, not a second heuristic, and the scope is narrower than it looks. Doorstop's fingerprint covers the item UID,
text,refandreferences, the UIDs inlinksand opted-in extended attributes, notheader,levelor layout; Jama fires only on configured fields. If the trigger is itd-2610040817105016's section fingerprint over normative text, a reflow or other whitespace-only edit fires nothing by construction, but a typo fix does move the fingerprint, marks the links suspect and, under the record-lint rule below, fails the gate until cleared; so editorial edits need a cheap clear-by-act (an "editorial, no impact" row the product thinker confirms in one step), or the open question's pre-filter stays open. "Any change fires the pass" narrows to any change of normative text. - The errata world's triage rule transfers. The IESG tells reviewers "only items that are clearly wrong should be considered" and "Significant clarifications should not be handled as errata reports": an editorial brief edit is cleared in one step, a technical one fires the pass, and an edit that changes what the product is owes a record.
- Single pass, then confirm, is the shipped shape. Spec Kit's
analyzeruns once, read-only, one table with a location per finding, remediation "only offered". Its near-duplicate pass is a model's judgement with no published recall; duplicate-detection research was not surveyed this pass. - The change-folder alternative (OpenSpec: a proposal folder with spec deltas, archived and applied on acceptance) keeps the edit out of the brief until reconciled, at the cost of taking the brief out of the product thinker's hands between edit and apply.
- Path 2: native. The deterministic suspect set is the trigger; the pass is single-shot and read-only in the finding-table shape; the block is a record-lint rule (a moved fingerprint with uncleared links fails), with the pre-commit hook as early warning; this moves the hold from the commit to the push and merge gates, so the criterion "blocked from committing" would read "blocked from reaching main" at planning, a rewording only the product thinker makes. The seam is the finding table, so the proposer can change without the gate changing. One assessment verb serves this intent and itd-2610040817105016.
The independent fit-challenge runs at plan time.
Open Questions
- What counts as "the brief edit committing"? The brief is a directory of files — does the block live at commit time (a pre-commit hook), at a
/abcdsurface, or both? abcd's three-tier design (pre-commit → CI → runtime) is the natural template. - How is "any brief change fires the pass; dedup later" scoped to avoid firing on trivial edits (typo fixes, reflows)? The dedup handles already-captured implications, but a cheap "is this load-bearing?" pre-filter may still be needed to avoid grilling on whitespace.
- How does dedup identify an "already-captured" implication robustly — provenance markers from the forward path, content matching against existing drafts/disciplines, or both?
- Does the grill run interactively (like the existing grill) on every brief edit, or single-pass-then-confirm? Interactive is truer to the grill but heavier per edit.
- Where do drawn-out principles land — as discipline drafts under
intents/disciplines/, and does a framework-provided vs app-authored distinction apply (see [[itd-62-pluggable-safety-gate]])? - (SOTA 2026-10-23) Whether the gate holds the commit or the edit: a product thinker who edits their brief on the dashboard with no session open must not be stalled by a block only a session can clear.
- (SOTA 2026-10-23) What the gate decides with no model present: an uncleared suspect link fails, but is a brief edit with no proposal on file a failure or a pending state?
Evidence 2026-10-04 (a downstream lab)
- Tense (recorded for the product thinker, not decided). A downstream private project's brief-authoring lab found that the present-tense-only convention makes a target-design brief read as a working product: 99 present-tense product claims against 9 "staged" markers. Its owner called this the biggest issue they face with abcd, and holds that the brief is the target design the product thinker owns. The lab named this intent with itd-142 and itd-143.
- Brief to records. The same lab wrote a 22-file brief over two days and drew no intent from it: no verb proposes intents, decisions or captures from a brief, and the status board did not notice a brief with no records beside it. This intent's derivation pass is the record for the first half, since a brief written from nothing is a run of brief edits; the board's silence on a brief with no records is outside its scope as written. The lab rated it major.
Hypothesis 2026-10-04 (the brief's tense)
Recorded from the product thinker, 2026-10-04, answering how a brief describes what is not built yet, verbatim: "this is a big open question I'm currently testing on another repo. My current hypothesis: The brief is the main 'target design' document for the PT; while written in present tense, it's a vision of what the PT assumes the final product will look like. That way, the PT can 'think' about the product in a familiar way, while abcd helps them -- via the TF -- to make it a reality (step-by-step). We need SOTA research to ensure abcd will do that in a deterministic way, e.g. by listing implemented intents and/or plumbing implementations to each brief section; if the PT then changes the brief, abcd must assess whether a new intent/issue is required (and record it) or whether an existing intent (already filed, planned, and/or build) contradicts that change, in which case the PT is owed a design decision. Makes sense?" Recorded as a working hypothesis under test, not a ruling; a state-of-the-art pass on deterministic brief-to-record traceability was started the same day.
This intent is the second half of the hypothesis: a brief change is assessed for a new intent or issue, or for a contradiction with an intent already filed, planned or built, which owes the product thinker a design decision.
Audit Notes
Empty. Populated by intent-fidelity-reviewer when intent moves to shipped/.
References
- Originating assessment:
~/Desktop/abcd-assessment.html(2026-06-26) — the brief-vs-reality coherence concern that motivates both directions. - Reuses:
skills/abcd-intent-grill/(the Socratic interrogation machinery), pointed at a brief edit rather than a fresh intent. - Paired with: [[itd-60-doc-fidelity-anti-drift]] (the forward direction; its auto-drafted brief edits are the primary dedup case).
- Posture precedent: abcd's tamper-evident provenance and fail-closed reviewers — "cannot proceed past an unresolved state" applied to brief edits.
Typed Links
- built on by
itd-2611011151512956(hand-written text caught and offered back to the brief): A piece moved from a documentation surface into the brief goes through this intent's reconciliation.
Frontmatter
| id | itd-61 |
|---|---|
| type | intent |
| lifecycle | drafts |
| severity | minor |
.abcd/development/intents/drafts/itd-61-brief-change-derivation.md
open on GitHub ↗ · commit history ↗
References1
- itd-60When A Surface Ships, The Brief Describes It — Or The Intent Does Not Reach Shippedbuilds on
Referenced by10
- iss-2610100649481907A review verb for proposed brief edits: deduced changes recorded, asked or settled, then appliedrelated
- iss-2610262034302701itd-61 reuses the existing grill's interrogation machinery; the intent chapter says the grill sub-verb is an unshipped design target.related
- iss-2610262039169067itd-61 says abcd already carries built reality forward into the brief (itd-60), but universal patterns says that forward pass is planned and not yet builtrelated
- iss-2610262041158645The brief-change derivation draft reuses 'the existing grill's interrogation machinery'; the verification matrix says nothing of the grill ships.related
- iss-2610262041163346The glossary retires 'roadmap' as a word; the brief-change derivation draft uses it for the intent backlog.related
- iss-2610262042541203itd-2610040817105016 and itd-61 both derive implied work from a brief edit, one advisory and one blockingrelated
- iss-2610262044453777itd-61 says itd-60 carries built reality into the brief and the public docs; shipped itd-60 covers the brief only and leaves the public docs to a later rungrelated
- iss-2610262044537770Shipped itd-69 says the brief-change derivation gate (itd-61) produced it; itd-61 is still a draft that has not yet given abcd that gaterelated
- itd-62abcd Routes The Invisible Risks An Amateur Cannot See To A Real, Fail-Closed Gate That Wraps A Trusted Scannerbuilt on by
- itd-2611011151512956Hand-written text in a rendered page is caught and offered back to its sourcebuilt on by
mentions14
- dcn-26090100000000052026-09-01 — The brief is the shipped state, consolidated without a new intent (maintainer). The request "a product thinker must be able to understand the current shipped state of the repository by looking only at the brief" is already adr-5's decision and is delivered by two existing drafts, itd-60 (the doc-fidelity pass that gates spec close on the brief reflecting delivery) and itd-147 (generated surface blocks so a shape claim cannot drift), so no umbrella intent is filed; the drift records from the v0.7.0 receipts link to them and the two exact duplicate pairs close as duplicates. Added to the decision: brief, record and release stay in sync, with one legitimate lead — a brief edited after a release was cut is ahead of that release until the next cut, and the gap closes at the cut rather than between cuts. The work is sequenced as Phase 8, "the brief is the shipped state"; the design branch's unmerged "closed loop" phase takes 9 when it merges. itd-61, the reverse direction, stays adjacent as an open question of the phase.
- dcn-26100400000000062026-10-04 (the product thinker, working hypothesis, not a ruling): a brief is the product thinker's target design, written in present tense as the vision of the finished product; abcd makes it real step by step through the technical facilitator, deterministically: each brief section lists the intents and implementations that realise it, and a brief change is assessed for a new intent or issue, or for a contradiction with a filed, planned or built intent, which owes the product thinker a design decision. Under test on another repository; a state-of-the-art pass follows. Recorded on itd-61, itd-142 and itd-143.
- iss-239Dangling pre-rebuild spec ids in the draft corpus: itd-44 (spc-56), itd-51 (spc-33/37), itd-57 (spc-48/60/62), itd-61 (spc-75) cite specs from the numbering adr-21/adr-26 reset (live store is spc-1..spc-22). Worse, intents/README.md and itd-34 assert the itd-44 lineage 'landed as itd-44 (spc-56 thin adoption)' — no such spec or decision-verdict code exists, so the record claims a delivery the tree cannot back.
- iss-2610262030559592The mental model calls the itd-60 doc-fidelity loop planned and not yet exercised; the docs chapter describes the itd-60 doc-fidelity gate as a working gate in the present tense.
- iss-2610262032193797The mental model calls itd-60 planned, but itd-60 sits on the shipped shelf
- itd-1Every Intent Has Acceptance Criteria; Every Audit Verifies Them
- itd-69Plugin Metadata Stays Consistent Across Every Duplicated Surface
- itd-70Drawn-out intent
- itd-142The brief-creation interview: abcd elicits a repository's brief in a staged conversation — narrative first, then frontier rounds that ask only what the record cannot yet settle, options at conjectural questions (at most three candidate construals, a ceiling not a target, with a null answer always available), and a per-item confirmation — distilling committed products into the brief and a ledger while the transcript is discarded. Entry is one door for both modes: a brownfield repository arrives pre-populated from embark probe coverage, provenance-stamped and still requiring confirmation; a greenfield repository is the same interview run from the all-blank coverage state. Command-shaped, because it mutates state — abcd ships zero skills
- itd-143The brief gains a framing chapter under 01-product/ — the macro-why home: one section holds the project's framing, the why behind the why, and receives the brief-creation interview's committed framing products; the brief-lifeboat mapping gains the matching row so a lifeboat carries framing like any other section
- itd-2610040817105016Every brief section shows what realises it, and a brief change names what it touches
- itd-2610040822131032A lab runs end to end from a question the product thinker asks
- itd-2611011151475128Every documentation surface is rendered from its one home
- spc-2609020903498198The brief describes every surface that ships, or the intent does not reach shipped