Raised during review of #348 (W83 — Buildings Get Dirty, Wear Out, and Break).
W83 introduces a new building_broken reason code, emitted as a visible: true audit StateChange (pipeline.ts's cleanliness-wear system: frame.changes.record("cleanliness-wear", ..., "building_broken", true, previousStatus)). design/20-contract.md §11's "Audit codes" table states it covers "All ten" reason codes by name, but was not updated in #348 and still doesn't list building_broken — making it an eleventh, undocumented audit code. That's the exact drift the surrounding paragraph in that table describes as having already happened once (five reason codes went unregistered through three prior units and one reconciliation pass).
Suggested fix (drafted and reverted during review, since it triggers a separate gate — see below):
| `building_broken` | the `cleanliness-wear` system, on a zero-wear open/closed building | a literal at the `record()` call site |
...with "All ten" updated to "All eleven" in the preceding paragraph.
Why not fixed inline: editing design/20-contract.md's canonical text trips ConvertTo-HumanDocumentation.ps1's guide-staleness gate, which then requires running /make-human-docs (a full content-regeneration pass over the developer guide) and re-stamping docs/docs/guide.md — out of scope for a mechanical review fix. This should go through the documented generation workflow: design/20-contract.md → ConvertTo-HumanDocumentation.ps1 → /make-human-docs → -StampGuide → Test-Documentation.ps1.
Reference: PR #348 review thread on design/90-decisions.md:388.
Raised during review of #348 (W83 — Buildings Get Dirty, Wear Out, and Break).
W83 introduces a new
building_brokenreason code, emitted as avisible: trueauditStateChange(pipeline.ts'scleanliness-wearsystem:frame.changes.record("cleanliness-wear", ..., "building_broken", true, previousStatus)).design/20-contract.md§11's "Audit codes" table states it covers "All ten" reason codes by name, but was not updated in #348 and still doesn't listbuilding_broken— making it an eleventh, undocumented audit code. That's the exact drift the surrounding paragraph in that table describes as having already happened once (five reason codes went unregistered through three prior units and one reconciliation pass).Suggested fix (drafted and reverted during review, since it triggers a separate gate — see below):
...with "All ten" updated to "All eleven" in the preceding paragraph.
Why not fixed inline: editing
design/20-contract.md's canonical text tripsConvertTo-HumanDocumentation.ps1's guide-staleness gate, which then requires running/make-human-docs(a full content-regeneration pass over the developer guide) and re-stampingdocs/docs/guide.md— out of scope for a mechanical review fix. This should go through the documented generation workflow:design/20-contract.md→ConvertTo-HumanDocumentation.ps1→/make-human-docs→-StampGuide→Test-Documentation.ps1.Reference: PR #348 review thread on
design/90-decisions.md:388.