Files
SlabUploader/.audit/coverage/matrix/architecture.md
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

8.5 KiB
Raw Permalink Blame History

Coverage matrix — ARCHITECTURE.md

Source: docs/ARCHITECTURE.md at tag pre-simplification. Method: subagent extracted every surface entry; PoR home assigned here. Dispositions: ported, superseded, dropped, ui, missing.

SETTINGS KEYS

Entry PoR Disposition Note
inference_enabled SETTINGS-30, SETTINGS-90 ported default off added
Species $/bdft SETTINGS-35 ported —
prompts (as settings) METADATA-105 superseded prompts live in the DB, not settings
Inference endpoint base URL SETTINGS-30 ported —
Inference API key SETTINGS-30 ported —
Woo credentials SETTINGS-15, SETTINGS-20 ported —
publish status SETTINGS-65 ported —
Store URL env, read-only SETTINGS-5 ported —
SLAB_AES_KEY SETTINGS-25 ported —
WOO_BASE_URL SETTINGS-5, SETTINGS-10 ported —
sheet mode CAPTURE-40, CAPTURE-145 ported —
sensitivity CAPTURE-41, CAPTURE-145 ported —
edge offset CAPTURE-40 superseded removed control
feather CAPTURE-40 superseded removed control
reset-to-default CAPTURE-145 ported —
Species list with $/bdft SETTINGS-35 ported —
Taxonomy snapshot SETTINGS-50 ported —

CONTROLS

Entry PoR Disposition Note
New Wood 1–5 photos CAPTURE-25 superseded no cap
Four mask knobs CAPTURE-40 superseded two knobs
Mask edge OK CAPTURE-50 ported —
Retune knobs / Retake CAPTURE-50, CAPTURE-155 ported —
Length axis rotate/confirm CAPTURE-60, CAPTURE-65 ported —
User length/thickness/SKU CAPTURE-70 ported —
Call 1 pre-fill / manual taxonomy METADATA-45, METADATA-50 ported —
Generate text button METADATA-55, METADATA-110 ported availability added
Publish PUBLISH-5 ported —
Settings "Refresh taxonomy" control SETTINGS-60 ui optional; not required for POC
Inline nudges REVIEW-20 ported —

LISTING FIELDS

Entry PoR Disposition Note
Photos 1–5 CAPTURE-25 superseded no cap
SKU REVIEW-45 ported —
length / thickness CAPTURE-70 ported —
sqft / bdft / 6in widths CAPTURE-80, CAPTURE-85, CAPTURE-90 ported —
3:4 PNG CAPTURE-95, CAPTURE-100 ported —
title / short_title / description REVIEW-10 ported short_title naming migrated
species METADATA-10 ported —
wood categories METADATA-10 ported —
edge / figure METADATA-15 ported —
grade METADATA-15 ported cardinality superseded
feat-* METADATA-30 ported —
fig-* METADATA-30 ported cardinality superseded
price REVIEW-25 ported —
moisture METADATA-15 ported —
originals PUBLISH-25, PUBLISH-40 ported purge after publish
woo_product_id PUBLISH-25 ported —

STATUSES

Entry PoR Disposition Note
draft APP-5 ported —
calibrated APP-5 ported —
ready APP-5, REVIEW-5 ported fig/grade cardinality superseded
publishing APP-5 ported —
published APP-5, PUBLISH-25 ported —
failed APP-5, PUBLISH-30 ported —
transitions draft→...→published/failed APP-5 ported —

ENDPOINTS

Entry PoR Disposition Note
/wp-json/wc/v3/ SETTINGS-15 ported —
/api/v1/settings SETTINGS-20, SETTINGS-30 ported —
/api/v1/admin/taxonomy SETTINGS-50 ported —
POST /api/v1/settings/test-woo SETTINGS-40, SETTINGS-80 ported —
GET /api/v1/validation/module — dropped validation module ruled cut
POST /api/v1/settings/test-inference SETTINGS-45 ported —

ERROR CODES

Entry PoR Disposition Note
409 duplicate SKU only PUBLISH-15 ported —
422 stale value PUBLISH-20 ported —
412 validation hash — dropped validation module ruled cut
"Never show 412" PUBLISH-35 dropped moot after cut

USER-FACING ERROR / EMPTY STATES

Entry PoR Disposition Note
Call 1 runtime failure → retry or message METADATA-115 ported recoverable retries, unrecoverable explains
Below 0.7 fields stay empty METADATA-45 ported —
Duplicate SKU field error PUBLISH-15 ported —
Stale value field error PUBLISH-20 ported —
Review gate empty subset REVIEW-5, REVIEW-20 ported —
Inline nudges, not submit-only REVIEW-20 ported —
UI "Updating rules" — dropped validation module cut
failed error detail stored, retry PUBLISH-30 ported —

INFERENCE

Entry PoR Disposition Note
Call 1 auto-run only if inference_enabled METADATA-35, SETTINGS-90 ported —
Call 1 skipped when disabled METADATA-70 ported —
Call 1 input: all originals downscaled to 1024 METADATA-35 superseded PoR sends the clean processed photos
Call 1 input: synced taxonomy only METADATA-35, METADATA-40 ported —
Call 1 input: SKU/length/thickness METADATA-35 ported —
Call 1 timeout 45s METADATA-115 ported runtime failure triage
Threshold ≥0.7 pre-populate METADATA-45 ported —
Below 0.7 empty METADATA-45 ported —
Manual entry authoritative METADATA-50 ported —
Call 2 no auto-fire METADATA-55 ported —
Call 2 portable context / full resend — superseded thread work out of MVP
previous_response_id — superseded thread work out of MVP
Call 2 confirmed vs inferred METADATA-60 ported —
per-slab thread, delete on submit/abandon — superseded thread work out of MVP
test-inference mode stateful/stateless/fail SETTINGS-45 ported —
fail blocks Call 2 only SETTINGS-45 ported —
Call 1/2 assist-only, do not gate publish METADATA-75 ported —
low-confidence does not auto-fill METADATA-45 ported —

PUBLISH PAYLOAD

Entry PoR Disposition Note
Draft upload contents CAPTURE-135 ported —
Originals needed for retry PUBLISH-40 ported —
Post-publish deletion PUBLISH-25 ported —
Duplicate SKU handling PUBLISH-15 ported —
Stale value handling PUBLISH-20 ported —
Product status per setting SETTINGS-65, PUBLISH-10 ported —
Title/desc typed, generated, or templated REVIEW-10, METADATA-70 ported templates are fallback
Publish poll PUBLISH-5 ported —
woo_product_id stored PUBLISH-25 ported —
Images purged PUBLISH-25 ported —
Publish resync > 1 hour SETTINGS-60 ported —
Submit carries validation_hash / 412 retry — dropped validation module cut
Woo-shaped 422 store rejection APP-50, PUBLISH-20 ported —
Taxonomy: categories/attributes/fig-* synced SETTINGS-50, SETTINGS-51 ported scope narrowed to fig/feat

CONSTANTS / NUMBERS

Entry PoR Disposition Note
1–5 photos CAPTURE-25 superseded no cap
downscale 1024 METADATA-35 ported source conflict noted
Call 1 timeout 45s METADATA-115 ported runtime failure triage
confidence 0.7 METADATA-45 ported —
3:4 CAPTURE-100 ported —
80% fill CAPTURE-100 superseded 90 percent
6in widths CAPTURE-80 ported —
SKU charset 3..24 REVIEW-45 ported case widened
taxonomy staleness 1 hour SETTINGS-60 ported —
ready cardinalities (PNG/species/wood/edge/figure/fig/grade/moisture/feat) REVIEW-5 ported fig/grade superseded
five attributes METADATA-15 ported —

BROWSER / API SUPPORT

Entry PoR Disposition Note
Browser does not call Woo or vision APP-25 ported —
no CORS to store APP-25 ported —
localStorage persistence CAPTURE-145 ported —
client BG removal APIs CAPTURE-140, CAPTURE-35 ported —
camera CAPTURE-25, CAPTURE-20 ported —
no U2Net control (POC) CAPTURE-165 ported —
U2Net deferred, not deleted CAPTURE-165 ported —
title/desc Woo maxLength REVIEW-50 ported Woo v3 documents no max; caps in docs/contracts/WOO-API.md §11

Findings

None open. Runtime inference failure is METADATA-115; the Call 1 image source is METADATA-35; title/description length caps are inherent Woo limits.