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/.
This commit is contained in:
2026-09-18 21:02:06 -07:00
parent a8cc2f7596
commit 01aa4c52c3
53 changed files with 3186 additions and 817 deletions
+12 -12
View File
@@ -16,13 +16,13 @@ A finished listing has:
- SKU, length, thickness, price
- Species, wood category, edge type, figure, grade
- Thickness band, moisture
- One or more `fig-*` tags
- Title, short title, description
- Optional `fig-*` tags
- Title, short_description, description
- Zero or more `feat-*` tags
Store categories, attributes, and `fig-*` / `feat-*` tags are the filters shoppers use. Measured values feed title and description templates.
Store categories, attributes, and `fig-*` / `feat-*` tags are the filters shoppers use. When content generation runs, the model writes the prose; deterministic templates are the fallback and inject the measured values.
The locked name for that synced taxonomy package is **Woo attributes**. Details live in `docs/CREATE.md`.
The locked name for that synced taxonomy package is **Woo Slab Taxonomy**. Details live in `docs/capabilities/CREATE.md`.
## Decision rights
@@ -34,7 +34,7 @@ The locked name for that synced taxonomy package is **Woo attributes**. Details
| Widths, sqft, bdft | App, from approved reference photo + length + thickness |
| Species, wood category, edge, figure, grade, tags | App may propose; user may change |
| Price | App proposal `bdft × species $/bdft`; user may replace |
| Title, short title, description | Templates from listing facts; user may edit |
| Title, short_description, description | Model or template from listing facts; user may edit |
User-entered length, thickness, SKU, price, and taxonomy override computed or inferred values.
@@ -46,23 +46,23 @@ Milestone 1 handoff is the device draft: source photo, approved mask, inventory
Milestone 2 extends the draft with the photo batch, calibration choice, per-photo inventory PNGs, and the dimension-overlay calibration copy.
Milestone 3 introduces FastAPI as the Woo client and inference proxy. Store credentials and inference secrets stay on the server. Spec: `docs/CREATE.md`.
Milestone 3 introduces FastAPI as the Woo client and inference proxy. Store credentials and inference secrets stay on the server. Spec: `docs/capabilities/CREATE.md`.
## Create rules (summary)
Full behavior is in `docs/CREATE.md`.
Full behavior is in `docs/capabilities/CREATE.md`.
- `SLAB-UAT-*` creates as a WooCommerce draft (store status).
- Duplicate SKU blocks create.
- A listing can be created with inference off.
- A device draft in the app is separate from a WooCommerce draft.
## Milestone status on `m3-ds`
## Milestone status
| Milestone | Spec | Status |
|---|---|---|
| 1 Capture | `docs/CAPTURE.md` | Shipped |
| 2 Photos | `docs/PHOTOS.md` | Shipped (UAT `:10881`) |
| 3 Create | `docs/CREATE.md` | Current work. Exit: submission-ready for WooCommerce (`CREATE.md` Done when). Scope from Ty conversations; behavior for sync/metadata/pricing/inference taken from `main` into `CREATE.md`. |
| 1 Capture | `docs/capabilities/CAPTURE.md` | Shipped |
| 2 Photos | `docs/capabilities/PHOTOS.md` | Shipped (UAT `:10881`) |
| 3 Create | `docs/capabilities/CREATE.md` | Scope is the M3 ID set in `docs/MILESTONES.md`. Exit: submission-ready for WooCommerce. |
Anything beyond `docs/CREATE.md` is out of M3 unless Ty expands scope in chat.
Scope is the M3 requirement subset in `docs/MILESTONES.md`; `docs/REQUIREMENTS.md` is normative.