Files
SlabUploader/.audit/coverage/matrix/ux-design.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

10 KiB

Coverage matrix — UX-DESIGN.md (pilot)

Purpose: prove every entry on a reference surface in the source doc has a home in the PoR. Source: docs/UX-DESIGN.md at tag pre-simplification (non-normative wireframes). Method: subagent extracted every entry mechanically; this file assigns the PoR home and disposition. Dispositions: ported, superseded, dropped, ui (presentation-only, not a requirement), missing (a finding).

Pilot proof: the three entries fixed in SETTINGS-45 / SETTINGS-90 / METADATA-110 are marked ported below. Before that fix they had no home, which is exactly what this matrix surfaces.

SETTINGS KEYS

Entry PoR Disposition Note
Store URL field SETTINGS-5 ported env, read-only
WP Username field SETTINGS-20 ported —
Application Password field SETTINGS-20 ported —
Inference Endpoint field SETTINGS-30 ported —
Inference API Key field SETTINGS-30 ported —
Enable Vision toggle, default off SETTINGS-90 ported fixed
Enable Content toggle, default off SETTINGS-90 ported fixed
Pricing Rules SETTINGS-35 ported —
Publish Status dropdown, default Draft SETTINGS-65 ported —
Brand Voice field SETTINGS-30 ported —
GEO Context field SETTINGS-30 ported —
Sheet dropdown CAPTURE-40 ported —
Edge Offset control CAPTURE-40 superseded removed
Feather control CAPTURE-40 superseded removed
Knob persistence localStorage CAPTURE-145 ported —

CONTROLS

Entry PoR Disposition Note
Test Connection (WP) SETTINGS-40, SETTINGS-80 ported resync and failure
Test Connection (Inference) two-turn probe, stateful/stateless/fail SETTINGS-45 ported fixed
Enable Vision / Enable Content buttons SETTINGS-90 ported —
Add Rule / Edit (pricing) SETTINGS-35 ported —
Reset Capture Knobs CAPTURE-145 ported —
Refresh Store Lists SETTINGS-60 ported —
Got it (first-run card) — ui presentation
R retake shortcut CAPTURE-50 ported —
Sheet dropdown CAPTURE-40 ported —
Sensitivity slider CAPTURE-41, CAPTURE-45 ported —
Edge Offset slider CAPTURE-40 superseded removed
Feather slider CAPTURE-40 superseded removed
Retake (capture) CAPTURE-50, CAPTURE-155 ported —
Confirm (capture) CAPTURE-50 ported —
Rotate (axis) CAPTURE-60, CAPTURE-65 ported —
Confirm (axis) CAPTURE-60 ported —
SKU input REVIEW-45 ported —
Length input CAPTURE-70 ported —
Thickness input CAPTURE-70 ported —
Done (type values) APP-5 ported status calibrated
X exit review APP-10 ported —
Species dropdown METADATA-10 ported —
Wood Cat dropdown METADATA-10 ported —
Edge Type dropdown METADATA-15 ported —
Figure dropdown METADATA-15 ported —
Grade dropdown METADATA-15 ported cardinality superseded
Fig Tags dropdown METADATA-30 ported cardinality superseded
Feat Tags dropdown METADATA-30 ported —
Thickness Band dropdown METADATA-15 ported —
Moisture dropdown METADATA-15 ported —
Price input REVIEW-25 ported —
Review Title / Desc button REVIEW-10 ported —
Publish button disabled until ready REVIEW-20 ported —
Title input REVIEW-10 ported —
Short Title input REVIEW-10 ported naming migrated
Description input REVIEW-10 ported —
Generate Text button, availability METADATA-110 ported fixed
Done (title/desc) REVIEW-40 ported —
Open in Store — ui candidate: store link is presentation
Done (publish success) PUBLISH-25 ported —
Retry (publish failed) PUBLISH-30, PUBLISH-37 ported —
Back to Review PUBLISH-30 ported retry from same screen
Retake (mask failure) CAPTURE-50, CAPTURE-55 ported —
Rotate (axis check) CAPTURE-60 ported —
Retake (source too small) CAPTURE-105 ported —
Edit SKU PUBLISH-15 ported —
Open Existing PUBLISH-15 ported —
Refresh Store Lists (stale) PUBLISH-20 ported —
Retry / Open Settings (unreachable) PUBLISH-30, PUBLISH-36, PUBLISH-38 ported —
Update Browser CAPTURE-10 ported —

LISTING FIELDS

Entry PoR Disposition Note
SKU REVIEW-45, PUBLISH-15 ported —
Length CAPTURE-70 ported —
Thickness CAPTURE-70 ported —
sqft (computed) CAPTURE-85 ported —
bdft (computed) CAPTURE-90 ported —
widths (computed) CAPTURE-80 ported —
Photos, "at least one inventory PNG" REVIEW-5 superseded ready set is two images
Species exactly one METADATA-10 ported —
Wood category 1+ METADATA-10 ported —
Edge type one METADATA-15 ported —
Figure 1+ METADATA-15 ported —
Fig tags 1+ METADATA-30 superseded tags optional
Feat tags 0+ METADATA-30 ported —
Grade 1+ METADATA-15 superseded grade exactly one
Thickness Band METADATA-15 ported —
Moisture METADATA-15 ported —
Price REVIEW-25 ported —
Title REVIEW-10 ported —
Short Title REVIEW-10 ported naming migrated
Description REVIEW-10 ported —
Store product ID PUBLISH-25 ported display is presentation

STATUSES

Entry PoR Disposition Note
Publish Status Draft SETTINGS-65 ported —
calibrated APP-5 ported —
publishing APP-5 ported —
published APP-5, PUBLISH-50 ported —
failed APP-5 ported —
Woo product draft PUBLISH-10 ported —
SKU "any status" PUBLISH-15 ported —
probe stateful/stateless/fail SETTINGS-45 ported fixed

ENDPOINTS

Entry PoR Disposition Note
WP REST v3 auth SETTINGS-15, SETTINGS-80 ported —
Inference endpoint SETTINGS-30 ported —
Inference endpoint reachability METADATA-110, METADATA-75 ported fixed

ERROR CODES

Entry PoR Disposition Note
green check / red error SETTINGS-80 ported —
stateful/stateless/fail SETTINGS-45 ported fixed

USER-FACING ERROR / EMPTY STATES

Entry PoR Disposition Note
Mask failure "Cannot isolate the slab edge..." CAPTURE-55 ported —
Axis misalignment "Rotate the axis..." CAPTURE-60 ported —
Source too small "Photo will be too small..." CAPTURE-105 ported —
SKU duplicate "This SKU already exists..." PUBLISH-15 ported —
Stale taxonomy "This value is no longer valid..." PUBLISH-20, REVIEW-35 ported —
Store unreachable "Cannot reach the store..." PUBLISH-30, PUBLISH-36 ported —
Publish failed "The store rejected the listing..." PUBLISH-30, PUBLISH-35 ported —
Publishing in progress PUBLISH-5 ported —
Publish success PUBLISH-25 ported —
Browser gate "update Safari or Chrome" CAPTURE-10 superseded matrix includes PC
Species/Figure/Wood/Edge nudges REVIEW-20, METADATA-10, METADATA-15 ported —
Generic inline nudge REVIEW-20 ported —
First-run guidance text — ui presentation
Vision-off empty taxonomy METADATA-45, METADATA-70 ported —

INFERENCE

Entry PoR Disposition Note
Call 1 flag default off SETTINGS-90, METADATA-35 ported fixed
Call 2 flag default off SETTINGS-90, METADATA-55 ported fixed
Generate Text triggers Call 2 METADATA-55 ported —
Pre-populate threshold 0.7 METADATA-45 ported —
Below-threshold leaves empty METADATA-45 ported —
Below-threshold manual fill to ready REVIEW-5, REVIEW-20 ported —
Two-turn probe stateful/stateless/fail SETTINGS-45 ported fixed
AI badge on Call 1 fields — ui presentation
Generate Text availability METADATA-110 ported fixed
Call 2 prose only, templates numbers METADATA-65, METADATA-70 ported —
Vision off state METADATA-70 ported —

PUBLISH PAYLOAD / FLOW

Entry PoR Disposition Note
Publish action, poll PUBLISH-5 ported —
Draft creation PUBLISH-10 ported —
SLAB-UAT-* always draft PUBLISH-10 ported —
Publish Status default draft SETTINGS-65 ported —
Duplicate SKU behavior PUBLISH-15 ported —
Stale taxonomy behavior PUBLISH-20 ported —
Success result, open in store PUBLISH-25 ported link is presentation
Failure behavior, keep draft, retry PUBLISH-30 ported —
Product ID stored, images purged PUBLISH-25 ported —
Publish button gating REVIEW-20 ported —
Submit-time validation after all fields REVIEW-20 superseded per-field nudges, no submit list
Taxonomy freshness on test SETTINGS-40 ported —

CONSTANTS / NUMBERS

Entry PoR Disposition Note
SKU pattern [A-Z0-9-]{3,24} REVIEW-45 ported case widened
Length / thickness 1/8 step CAPTURE-70 ported —
Confidence threshold 0.7 METADATA-45 ported —
Width sample every 6 inches CAPTURE-80 ported —
Wireframe width 375px — ui sketch detail
Sample values (sqft 0.64, bdft 0.96, widths, price, id) — ui examples
Mandatory counts list REVIEW-5 ported grade/fig superseded
Optional feat-* zero fine METADATA-30 ported —
Photo thumbnail count 5 CAPTURE-25 superseded no cap
SLAB-UAT-* pattern PUBLISH-10 ported —

BROWSER / API SUPPORT

Entry PoR Disposition Note
Gate on missing APIs CAPTURE-10 ported —
Supported browsers CAPTURE-10 ported matrix worded phone-only, superseded
Hard-stop screen CAPTURE-10 ported —
Client-side mask re-run CAPTURE-140, CAPTURE-150 ported —
Camera capture CAPTURE-20, CAPTURE-25 ported —
localStorage CAPTURE-145 ported —