From f9637fd79bc6c82d08bc974144a29ad9eb6b9e3e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 25 Aug 2026 00:22:28 +0000 Subject: [PATCH] =?UTF-8?q?docs(adr):=20repair=20ADR-0082's=20golden-page?= =?UTF-8?q?=20citation=20=E2=80=94=20moved=20path=20+=20an=20`os=20validat?= =?UTF-8?q?e`=20output=20that=20never=20renders=20(#10808)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Decision 6's golden-page paragraph carried two rotted pieces of evidence. Both re-measured on current main, not recalled: 1. The page moved one directory deeper — examples/app-showcase/src/ui/pages/renewals-pipeline.page.ts. The old path resolves to nothing (positive control: the new prefix has hits across the tree, the old one only in this ADR and in the audit that deliberately quotes it as the thing that moved). 2. "makes the gate fail with an error + a warning" reads as one run rendering both, which `os validate` never does: the author-time rule pipeline exits at the `ruleErrors.length > 0` branch in packages/cli/src/commands/validate.ts before the advisory list is printed. Measured with the CLI built here and run against examples/app-showcase: both mistakes injected → only the error, exit 1, zero occurrences of `onSucces` in the whole output; the typo alone → passing run plus the `⚠` advisory, exit 0. The severity split the sentence relies on is real and intact and is preserved — a missing required binding is fatal, a near-miss prop name is advisory. Only the interleaved rendering was wrong. The ADR's ruling and its conclusion ("the chain demonstrably closes") are untouched; this repairs an illustration, not a decision. No counts or shas are baked into the prose — the citation stays the audit, whose dated header carries the measured output. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_015ahemw8RcTgqtxrj15PEZx --- docs/adr/0082-react-component-contract-governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adr/0082-react-component-contract-governance.md b/docs/adr/0082-react-component-contract-governance.md index 95ba1a0cba..46119cb094 100644 --- a/docs/adr/0082-react-component-contract-governance.md +++ b/docs/adr/0082-react-component-contract-governance.md @@ -96,7 +96,7 @@ spec zod schema ──gen──► react-blocks.md (AI reads it — decis (hard: missing-required / typo) ``` -`examples/app-showcase/src/pages/renewals-pipeline.page.ts` is the **golden page**: authored straight from the contract (five server-connected blocks), it passes `os validate`; injecting a missing required `objectName` and an `onSucces` typo makes the gate fail with an error + a warning (captured in `docs/audits/2026-06-react-tier-authoring-dogfood.md`). The chain demonstrably closes. +`examples/app-showcase/src/ui/pages/renewals-pipeline.page.ts` is the **golden page**: authored straight from the contract (five server-connected blocks), it passes `os validate`; injecting a missing required `objectName` makes the gate fail, and an `onSucces` typo is a separate, non-fatal advisory — the error gate exits before advisories are printed, so no one run shows both (each output is captured in `docs/audits/2026-06-react-tier-authoring-dogfood.md`). The chain demonstrably closes. *(#10808: this cited the page's pre-move path — it sits one directory deeper now — and said the two mistakes make the gate fail "with an error + a warning", which reads as one run rendering both. The severity split is real; the single run showing both never was.)* ---