Files
Ty 01aa4c52c3 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/.
2026-09-18 21:02:06 -07:00

4.2 KiB

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.