docs: fix RD-25's decision 4, and name the pattern behind three misses

Decision 4 said the parent keeps seven outputs while decision 5, four lines
below, said all eleven remain and are re-emitted from children. Seven is how
many the parent raises; eleven is how many it declares. The acceptance line
copied the wrong one, and satisfying it would have broken
`org-template.page.ts`, which binds all eleven.

RD-08, RD-23 and RD-25 are the same mistake: a decision describes the design
in one vocabulary, and the acceptance line counts something else that shares a
word. Name what the command counts before writing the number.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
eho
2026-09-05 00:03:30 +02:00
co-authored by Claude Opus 5
parent cf1f641534
commit bcac3789d3
2 changed files with 24 additions and 7 deletions
@@ -63,12 +63,19 @@ whole.
They live beside the parent, in `apps/ssp/src/app/brief/ui/org-template-editor/`.
4. **The parent keeps seven outputs, not the five PLAN estimated.** `selectSubOrg`,
`templateEdit`, `marginEdit`, `requestPublish`, `confirmPublish`, `cancelPublish`,
`proefbrief`. The publish trio stays with the parent because publishing acts on the whole
draft, not on the version list; only `rollback` is history's own verb. PLAN's "→ 5" was an
estimate made before the outputs were mapped to blocks — its line estimate (~222) is the part
that matches this split.
4. **Seven of the eleven outputs are raised by the parent's own markup; four are re-emitted
from a child.** The parent's own: `selectSubOrg`, `templateEdit`, `marginEdit`,
`requestPublish`, `confirmPublish`, `cancelPublish`, `proefbrief`. The publish trio stays
with the parent because publishing acts on the whole draft, not on the version list; only
`rollback` is history's own verb.
**Corrected while the ticket ran. This decision first read "the parent keeps seven outputs",
and its acceptance line demanded seven `output()` declarations — which contradicts decision
5 in the same block.** Seven is how many outputs the parent _raises itself_. All eleven are
still _declared_ on the parent, because a child's output is re-emitted, not removed:
`org-template.page.ts` binds all eleven directly, and that file is out of scope. PLAN's
"→ 5" was a pre-measurement estimate of the same classification; its ~222-line estimate is
the part that matches (the split lands at 229).
5. **The parent's public surface does not change.** All 11 outputs still exist on the parent and
still fire; two clusters are simply re-emitted from children. `org-template.page.ts` and the
+11 -1
View File
@@ -198,7 +198,17 @@ Three rules when you write a ticket file, because the agent reads its ticket and
while its acceptance demanded zero occurrences of `dispatch` in the step files. **Grep the
text your own mandated snippet contains, and you have written a check that cannot pass.**
Anchor on what you actually forbid: here, `this.dispatch` or `store.dispatch`, not the bare
word.
word. RD-25 made it a third time, and the clearest one: its decision 4 said "the parent
keeps seven outputs" while decision 5, four lines below, said all eleven still exist and
are re-emitted from children. Seven was the count of outputs the parent _raises_; eleven is
the count it _declares_. The acceptance line copied the wrong one, and satisfying it would
have broken `org-template.page.ts`, which binds all eleven.
**The pattern in all three: a decision describes a design in one vocabulary, and the
acceptance line counts something else that happens to share a word.** Before writing a
number, say out loud what the command counts — declarations, call sites, or matching lines
— and check that the decisions use that same meaning.
- RD-09 grepped `docs/ apps/ libs/ .claude/`, which also matched this backlog's own ticket
files (they name the deleted method as the history of `done` work) and 22 gitignored
abandoned worktrees. Satisfying it literally would have corrupted completed-ticket