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 |
— |