From 8deb18de1bd20e4e168689afc0eb5a463e43ddb2 Mon Sep 17 00:00:00 2001 From: grokbot_ty Date: Mon, 7 Sep 2026 21:57:12 +0000 Subject: [PATCH] docs(test-spec): encode PRODUCT GATE vs REPORTING locks Separate fail-closed Results reporting from product-gate readiness. Thin BVTs and tip/paperwork cross-checks do not unlock UI, walkable, or UAT. --- docs/TEST-SPEC.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/TEST-SPEC.md b/docs/TEST-SPEC.md index abc9a46..947599a 100644 --- a/docs/TEST-SPEC.md +++ b/docs/TEST-SPEC.md @@ -110,6 +110,36 @@ Gate or UAT exit needs a mill-owner Results table whose proof classes match the Bots never declare Gate B or Gate C green. +### Product gate vs reporting + +**PRODUCT GATE vs REPORTING.** Fail-closed Results paperwork is not a fail-closed product gate. A filled Results table is reporting. It is not UI, walkable, or UAT readiness. + +Coding tip is not test complete. Test complete is not Gate ready. Report complete is not Gate ready. + +| Signal | What it is | Unlocks UI, walkable, or UAT readiness? | +|---|---|---| +| Results table filled (`pass`, `fail`, or `blocked`, even fail-closed) | Reporting against named case IDs | No | +| Tip or paperwork cross-check of prior layers only | Check of prior tips or paperwork only. Forbidden as readiness | No | +| Thin BVT (Select Photos file-inject only, curl health, SvelteKit title check, or similar shallow probe) | Shallow smoke | No | +| `human-walk` or live-host `e2e` that induces the claimed product state | Required proof class for readiness claims | Yes, when the proof matches the claim | + +Before any UI, walkable, or UAT readiness claim, require `human-walk` or live-host `e2e` proof. That proof must induce the claimed product state. Do not shrink Done-when to thin proxies. + +For mill-owner phone and iPad mask fundamentals, that walk or live-host `e2e` must show all of the following: + +- Photo visible under the translucent overlay (not a blank canvas, not a green-only washout that hides the wood) +- Knobs usable without multi-second lag +- Sheet mode not all-slab washout + +Dishonest proxies for UI, walkable, or UAT readiness (never treat as unlock): + +- Filled Results tables, including fail-closed ones +- Tip cross-checks +- Select Photos file-inject BVT +- curl health +- SvelteKit title checks +- Soft language that equates "report complete" with "gate ready" + ### Dual proof for product-state TV cases Some TV cases list `product-state` as the case Evidence class because Verified by requires real fixtures (TV-3, TV-6, TV-7, TV-10). @@ -145,6 +175,7 @@ Approval sits before the write, not after the apology. ## 3. Results recording & report-out Every report maps to named case IDs from this spec. +A filled Results table is reporting, not gate readiness. See ยง2 Product gate vs reporting. Allowed results only: `pass`, `fail`, `blocked`. Never invent `pass`. Soft words do not count.