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.
This commit is contained in:
2026-09-07 21:57:12 +00:00
parent 247b6b9a06
commit 8deb18de1b
+31
View File
@@ -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.