docs(phase2): reconcile requirements and migrate capabilities/contracts
Surface-matrix sweep of every source doc; added nine missed behaviors (METADATA-115, REVIEW-50, APP-55/60/65, SETTINGS-45 mode, Generate-text availability, defaults-off). 153 requirements, 0 coverage gaps. Migrated capabilities to docs/capabilities/ and contracts to docs/contracts/; added WOO-API, API, DATA-MODEL, PROMPTS, UX, TEST-SPEC. Populated MILESTONES; branch-neutral trunk docs; renamed umbrella term to Woo Slab Taxonomy. Archived reconciliation working records under .audit/archive/.
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# Coverage matrix — TEST-SPEC.md
|
||||
|
||||
Source: `docs/TEST-SPEC.md` at tag `pre-simplification` (107 cases). Reconciled last, against the
|
||||
finished PoR.
|
||||
|
||||
## Findings
|
||||
|
||||
Two behaviors were tested but not required; both are now PoR rows:
|
||||
|
||||
- FUND-3, FUND-5, FUND-6, FUND-7 (keyboard tab order, visible focus ring, 320 px reflow) → `APP-60`
|
||||
- FUND-24 (no secret material in logs) → `APP-65`
|
||||
|
||||
## Superseded cases to purge on migration
|
||||
|
||||
- UI-1, UIE-9, UIE-10 — four knobs (edge offset, feather) → two controls
|
||||
- V-3, API-8 — shared validation module, version hash, 412
|
||||
- C2-2 — `previous_response_id` / per-slab thread
|
||||
- C1-1 — "inventory photos at 1024" → clean processed photos
|
||||
- C2-4 — prompt file edits without restart → prompts live in the DB
|
||||
- TV-6, TV-7, E2E-5 — 80 percent fill / 1600 px → 90 percent / 800 px
|
||||
- UIE-1, E2E-4 — manual override of computed fields → read-only
|
||||
|
||||
## Case map
|
||||
|
||||
FUND
|
||||
- FUND-1..4, 8..11 — test conventions → dropped (test practice, not requirements)
|
||||
- FUND-3, 5, 6, 7 — accessibility → APP-60
|
||||
- FUND-12, 13, 16 — SQLite constraints/migrations → dropped (engineering practice)
|
||||
- FUND-14 — WAL stale reads → dropped (engineering practice)
|
||||
- FUND-15 — illegal status transitions rejected → APP-5
|
||||
- FUND-17 — fresh nonce, tamper fails → SETTINGS-25
|
||||
- FUND-18 — ciphertext absent from GET → SETTINGS-75
|
||||
- FUND-19 — missing key refuses startup → SETTINGS-25
|
||||
- FUND-20 — Basic auth app passwords, HTTPS → SETTINGS-15
|
||||
- FUND-21 — 401/400/404 mapped → APP-50
|
||||
- FUND-22 — pre-create SKU lookup, race → PUBLISH-15
|
||||
- FUND-23 — timeouts/network errors graceful, no stack → PUBLISH-30, PUBLISH-35
|
||||
- FUND-24 — secrets redacted in logs → APP-65
|
||||
- FUND-25 — HTTPS, health via proxy, port collision → OPS-5, OPS-15, OPS-20
|
||||
|
||||
TV
|
||||
- TV-1..TV-10 → QUALITY-55..QUALITY-100 (TV-6/TV-7 numeric values superseded)
|
||||
|
||||
Validation
|
||||
- V-1 — SKU charset → REVIEW-45
|
||||
- V-2 — title/description limits → REVIEW-50
|
||||
- V-3 — module hash / 412 → dropped
|
||||
|
||||
AES / health / draft
|
||||
- AES-1 → QUALITY-125, SETTINGS-75
|
||||
- AES-2 → SETTINGS-25
|
||||
- H-1 → APP-45
|
||||
- D-1 → API contract, APP-5
|
||||
|
||||
Gate C / Woo
|
||||
- GC-1 → PUBLISH-10; GC-2 → PUBLISH-15; GC-3 → SETTINGS-40; GC-4 → SETTINGS-85; GC-5 → SETTINGS-10
|
||||
- W-1 → PUBLISH-25; W-2 → PUBLISH-15; W-3 → SETTINGS-55; W-4 → SETTINGS-40; W-5 → PUBLISH-30
|
||||
|
||||
Inference
|
||||
- INF-1 → METADATA-75, QUALITY-20
|
||||
- INF-2, INF-3 → SETTINGS-45 (mode is kept)
|
||||
- INF-4 → SETTINGS-45
|
||||
|
||||
UI (capture)
|
||||
- UI-1 → superseded CAPTURE-40
|
||||
- UI-2 → CAPTURE-50, CAPTURE-55, CAPTURE-165
|
||||
- UI-3 → CAPTURE-60, CAPTURE-65
|
||||
- UI-4 → CAPTURE-70, CAPTURE-80, CAPTURE-85, CAPTURE-90
|
||||
- UI-5 → REVIEW-5, REVIEW-20
|
||||
|
||||
Ops
|
||||
- OPS-1 → APP-45; OPS-2 → OPS-15; OPS-3 → SETTINGS-40, SETTINGS-65, APP-45; OPS-4 → OPS-30;
|
||||
OPS-5 → OPS-35
|
||||
|
||||
API
|
||||
- API-1 → APP-20; API-2 → APP-40; API-3 → SETTINGS-75; API-4 → METADATA-35, METADATA-115;
|
||||
API-5 → METADATA-45; API-6 → REVIEW-5; API-7 → SETTINGS-50, SETTINGS-55; API-8 → dropped;
|
||||
API-9 → API contract; API-10 → SETTINGS-80
|
||||
- TAX-1 → SETTINGS-60; TAX-2 → METADATA-5; TAX-3 → SETTINGS-60
|
||||
|
||||
UI end-to-end
|
||||
- UIE-1 → superseded REVIEW-30, REVIEW-40
|
||||
- UIE-2 → METADATA-45, REVIEW-20
|
||||
- UIE-3 → PUBLISH-15; UIE-4 → PUBLISH-20; UIE-5 → PUBLISH-25; UIE-6 → PUBLISH-30
|
||||
- UIE-7 → METADATA-70, METADATA-110
|
||||
- UIE-8 → SETTINGS-5, SETTINGS-15, SETTINGS-20, SETTINGS-30, SETTINGS-35, SETTINGS-65
|
||||
- UIE-9, UIE-10 → superseded CAPTURE-40, CAPTURE-45, CAPTURE-145
|
||||
|
||||
Calls
|
||||
- C1-1 → superseded METADATA-35 (clean processed photos)
|
||||
- C1-2, C1-3 → METADATA-45, REVIEW-5
|
||||
- C2-1 → METADATA-55, METADATA-60
|
||||
- C2-2 → superseded (thread work out)
|
||||
- C2-3 → METADATA-65
|
||||
- C2-4 → METADATA-66, METADATA-105
|
||||
- OFF-1 → QUALITY-20; OFF-2 → SETTINGS-45
|
||||
|
||||
Instrumentation
|
||||
- INS-1 → APP-45; INS-2 → APP-55; INS-3 → METADATA-66; INS-4 → PUBLISH-30
|
||||
|
||||
E2E
|
||||
- E2E-1..3 → QUALITY-115
|
||||
- E2E-4 → superseded REVIEW-30, REVIEW-40
|
||||
- E2E-5 → superseded CAPTURE-100, CAPTURE-105
|
||||
|
||||
## Test harness (contract detail)
|
||||
|
||||
Harness layout, allowed result values, evidence rules, and the Gitea-issue bug log are engineering
|
||||
practice. They belong in `docs/contracts/TEST-SPEC.md`, not the PoR.
|
||||
Reference in New Issue
Block a user