Files
SlabUploader/.audit/coverage/product.md
T
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

3.8 KiB

Coverage ledger — PRODUCT.md

Source cur:PRODUCT (docs/PRODUCT.md, role: intent). Walked 2026-09-18 section by section against the PoR. Term ruling: the umbrella "Woo attributes" package is renamed Woo Slab Taxonomy; canonical Woo attributes (the five) keep their name.

Source Atom Requirement Disposition PoR ID Rationale
cur:PRODUCT one-slab-one-listing one slab is one unit and one listing ported PUBLISH-60 —
cur:PRODUCT photos-metadata-inventory photos and metadata are the inventory record dropped — intent framing; realized by CAPTURE/PHOTOS/CREATE, not a discrete rule
cur:PRODUCT green-black-sheet photographs taken on a green or black sheet ported CAPTURE-20 —
cur:PRODUCT inventory-png-3-4-transparent inventory photo(s), uniform 3:4 transparent PNG ported CAPTURE-95, CAPTURE-100 —
cur:PRODUCT listing-fields-user-owned SKU, length, thickness, price ported CAPTURE-70, REVIEW-25 SKU has no standalone row; folded into PUBLISH-5/PUBLISH-15
cur:PRODUCT taxon-wood-attributes species, wood category, edge, figure, grade ported METADATA-10, METADATA-15 —
cur:PRODUCT thickness-band-moisture thickness band, moisture ported METADATA-15 —
cur:PRODUCT fig-tags-cardinality one or more fig-* tags superseded METADATA-30 source says one or more; ruled optional, Figure attribute is at least one
cur:PRODUCT title-shorttitle-description title, short title, description ported REVIEW-10 "short title" is stale wording for short_description
cur:PRODUCT feat-tags-optional zero or more feat-* tags ported METADATA-30 —
cur:PRODUCT woo-slab-taxonomy-term "Woo attributes" locked package name ported METADATA-5 renamed Woo Slab Taxonomy; umbrella rule lives in METADATA-5
cur:PRODUCT measured-values-templates measured values feed title and description templates superseded METADATA-60, METADATA-70, METADATA-80 template is the fallback; the model writes when Call 2 runs
cur:PRODUCT decision-rights-table decision rights for mask/crop, measures, taxonomy, price, prose ported CAPTURE-50, CAPTURE-80, CAPTURE-85, CAPTURE-90, CAPTURE-100, METADATA-40, METADATA-45, REVIEW-25, REVIEW-40 row-for-row mapping; L37 carries the template conflict
cur:PRODUCT override-precedence user entries override computed or inferred values ported METADATA-50 —
cur:PRODUCT milestones-1-2-browser-only M1/M2 browser-only, no backend or inference URL ported APP-25, OPS-45 —
cur:PRODUCT m1-handoff-device-draft M1 handoff is the device draft contents ported APP-10 —
cur:PRODUCT m2-extends-draft M2 batch, calibration, per-photo PNGs, overlay copy ported CAPTURE-25, CAPTURE-110, CAPTURE-115, CAPTURE-130 —
cur:PRODUCT m3-fastapi-client M3 FastAPI Woo client and inference proxy, secrets server-side ported APP-25, SETTINGS-15, SETTINGS-20, SETTINGS-30 —
cur:PRODUCT slab-uat-forces-draft SLAB-UAT-* creates a Woo draft ported PUBLISH-10 —
cur:PRODUCT duplicate-sku-blocks duplicate SKU blocks create ported PUBLISH-15 —
cur:PRODUCT create-inference-off a listing can be created with inference off ported METADATA-70, METADATA-75, QUALITY-20 —
cur:PRODUCT device-draft-not-woo-draft device draft is separate from a WooCommerce draft ported APP-10 —
cur:PRODUCT milestone-status-table milestone status table, UAT on :10881 ported OPS-40 only host/port is testable; rest navigation; branch-neutral edit queued
cur:PRODUCT out-of-m3-scope anything beyond CREATE is out of M3 dropped — scope prose, not a requirement; MILESTONES.md owns scope