Gate B reports treated synthetic TV passes as if they satisfied product-state
exit. Soft result words like "not run" also blurred fail-closed reporting.
Encode the seven evidence and process locks in docs/TEST-SPEC.md as closed
vocab tables, required columns, Gate B exit checklist, Build brief refusal
fields, and SoT mutation permit-before-write. Add Evidence class to every
case table. Reclassify gate-b RESULTS so TV-3/6/7/10 vitest passes stay
proxy-synthetic, Gate exit product-state rows are blocked, and "not run"
becomes blocked. Gate B remains not green.
Gitea issues are the only mechanism for reporting issues found during a test
pass. Chat, Slack, and PR comments are not the bug log. On fail, open or
update a Gitea issue with case id and evidence pointer; the report table
blocker column links that issue. Do not invent issues that lack runner
evidence.
- Gate B: Ty confirms TV-3/6/7/10 on real fixtures; unit/API automated
- Gate C: Ty opens SLAB-UAT-* draft in real store admin; mocked-store not exit
- Phase 3: Ty publishes test slab as Woo draft SLAB-UAT-*; automation UI cases
- Phase 5: Ty judgment on species acceptance; automation Call 1/2 cases
- Phase 6: deployment smoke automated; Ty walks UAT-PRACTICE.md for UAT signoff
- Rename 'Cadence summary' to 'When tests are written'
- Phase 1 remainder: agent automation drives calibrated → ready (keep, per #20)
- Add Section 1: case ID naming convention (all prefixes and abbreviations defined)
- Add Section 2: how cases are executed (paths, tools, staging for unit/contract/integration/E2E/ops)
- Restructured every case table to three columns: what must happen, where the rule lives, how verified
- Replaced cadence column with when-written in pyramid overview; cadence summary preserved
- Fixed all exit-evidence lines: agent-written test automation replaces Ty-driven curl
- Expanded all acronyms on first use; no magic acronyms in case descriptions
- Removed Ty-driven manual testing; automation is the verification path
Publish the phone screen inventory, ASCII wireframes, error states, and
UAT cases so Ty can review issue #10 on docs/refactor-v2. UX.md points
at UX-DESIGN for presentation.
Overlay and knobs are the check; no checker-generated mask copy.
Sheet is a knob when auto misses. Axis confirm by eye. 1600 is an
after-crop size gate (retake), not a vision slogan. Builds on e2bdd80.
Species UI and Call 1 use only Woo-synced leaves. Middle tier manufactures a
taxonomy last-modified anchor (bump on stored-subset change only; test-woo
always resyncs; publish if >1h). CONTENT-WOO field-level 409/422 recovery.
IMPL acceptance and AGENTS locks updated.
TECH-SPEC states BG removal defines the measurement footprint and silent
corruption failure mode. Four knobs stay on capture with live overlay on the
source photo. POC is client-side only; U2Net try-harder deferred, not deleted.
ARCHITECTURE swimlane and clarifications match.
UAT is POC, so #10 is in DOC COMPLETE. Capture knobs live on-screen, review
confidence presentation, 409/422 field recovery, taxonomy cache, portable
Call 1→Call 2, shared validation. U2Net Try harder deferred, not deleted.
Check in implementable deploy/docker-compose.yml, .env.example, and Caddy
fragment. Store URL is env SoT (not a settings row). Application Password
setup stays in DEPLOYMENT §5 (issue #5).
DEPLOYMENT is host-variable: APP_HOST/APP_HOSTNAME/ports, inventory
worksheet, corrected Caddy handle /api/* before frontend. Drop RemBG
and output_px 1000 as deploy SoT. AGENTS §9, README, IMPL host wording
match. Historical .201 lab is a non-normative callout only.
Align PRD/README/CONTENT-WOO/DATA-MODEL/OPENAPI/DEPLOYMENT with AGENTS.md
and the POC review package: hybrid client SoT, bdft without /12, server AES
creds, woo_create_status draft|publish with SLAB-UAT-* firebreak, deploy smoke
and health path /api/health.
Lock hybrid topology, Woo draft+SLAB-UAT-* UAT firebreak, client-authoritative
TECH-SPEC math, and sequenced inference after Gate C. Supersede obsolete
server-pipeline Phase 0 and flag Phase 2 offline/OCR/ruler as out of POC scope.
Rewrite PRD, tech spec, data model, and OpenAPI around the 2026-08-27
decisions: client-side mask/measure/crop, U2Net on demand, Woo as product
source of truth, draft-only local state. Architecture records topology C
through the status machine. Drop the old CONTENT-WOO spec until the
Call 2 prompt review finishes.