diff --git a/docs/project/readable-codebase/PLAN.md b/docs/project/readable-codebase/PLAN.md index ac7373f..6937271 100644 --- a/docs/project/readable-codebase/PLAN.md +++ b/docs/project/readable-codebase/PLAN.md @@ -460,11 +460,20 @@ Submit first — it settles the final shape of the 5 components, and 1b#4 touche | B6 | _(optional)_ `NO_SUBORGS`/`NO_TABLES` → `Empty` | Needs a new `$localize` id per app that renders it | | B5 | _(optional, last, alone)_ upload `type:` → `tag:` | ~20 files; see the sed hazard in Risks | -**A5 is not optional.** `docs/reference/architecture/ARCHITECTURE.md:308-322` and `:574`, and -`docs/reference/fp-tea-atomic-design.md:338-350`, both teach `runIfSubmitting` verbatim — and -`plop-templates/form-machine.hbs` **generates it**, as does -`.claude/skills/form-machine/SKILL.md:65-78`. If the generator is not updated, the next form -scaffolded in this repo recreates the bug. Update all five in the same commit as A4. +**A5 — corrected while executing RD-09.** The original claim here was that +`plop-templates/form-machine.hbs` **generates** `runIfSubmitting`, and that +`.claude/skills/form-machine/SKILL.md:65-78` teaches it, so that the next scaffolded form +would recreate the bug. **Both are false**, verified by grep: + +- `plop-templates/form-machine.hbs` is **machine-only** — 74 lines, no `@Component`, no + `runIfSubmitting`. No generator recreates the bug. +- `.claude/skills/form-machine/SKILL.md` never mentions it. + +Two real sites remain, and both teach the deleted idiom verbatim in a code block: +`docs/reference/architecture/ARCHITECTURE.md:314` and `:574`, and +`docs/reference/fp-tea-atomic-design.md:342`. So A5/RD-09 is a two-document fix, still worth +doing — a teaching document that teaches a deleted idiom is precisely the rot this arc targets +— but it is not the urgent generator fix this plan originally claimed. **Scope discipline:** A1 + A2 alone deliver "dispatching cannot silently skip the effect" and fix both bugs. If the budget shrinks, stop after A5; B3 and B2 are hygiene, not correctness.