docs(m3): expand Create SoT for submission-ready exit

Reorganize docs for humans: README map (goals / shipped / M3), PRODUCT
overview, and a specific CREATE.md that pulls Woo sync, metadata, pricing,
and inference requirements from main. Exit criteria is a slab submission-
ready for WooCommerce, proven with a SLAB-UAT-* draft. Add UAT-PRACTICE.
This commit is contained in:
2026-09-16 21:03:46 +00:00
parent df40c4269f
commit 22599c924f
8 changed files with 707 additions and 116 deletions
+27 -29
View File
@@ -1,4 +1,4 @@
# Product requirements
# Product overview
SlabUploader creates one WooCommerce listing per wood slab for Whidbey Wood Store.
@@ -6,8 +6,12 @@ Each slab is one unit and one listing. Photos and metadata are the inventory rec
Photographs are taken of the slab on a green or black sheet. That is the capture starting state.
Owner: Ty. Store: https://www.whidbeywoodstore.com/
## Complete listing
A finished listing has:
- Inventory photo(s), uniform 3:4 transparent PNG
- SKU, length, thickness, price
- Species, wood category, edge type, figure, grade
@@ -16,7 +20,9 @@ Photographs are taken of the slab on a green or black sheet. That is the capture
- Title, short title, description
- Zero or more `feat-*` tags
Store categories, attributes, and `fig-*` / `feat-*` tags are the filters. Measured values feed title and description templates.
Store categories, attributes, and `fig-*` / `feat-*` tags are the filters shoppers use. Measured values feed title and description templates.
The locked name for that synced taxonomy package is **Woo attributes**. Details live in `docs/CREATE.md`.
## Decision rights
@@ -30,41 +36,33 @@ Store categories, attributes, and `fig-*` / `feat-*` tags are the filters. Measu
| Price | App proposal `bdft × species $/bdft`; user may replace |
| Title, short title, description | Templates from listing facts; user may edit |
User-entered length, thickness, SKU, price, and taxonomy override computed or inferred values.
## System seams
Milestones 1 and 2 run in the browser. No backend and no inference URL.
Milestones 1 and 2 run in the browser. No backend and no inference URL on the shipped path.
Milestone 1 handoff is the device draft: source photo, approved mask, inventory PNG, length, thickness, widths, sqft, bdft.
Milestone 2 extends the draft with the photo batch, calibration choice, per-photo inventory PNGs, and the dimension-overlay calibration copy.
Milestone 3 uses FastAPI as the Woo client. Store credentials stay on the server.
## Create
Milestone 3 introduces FastAPI as the Woo client and inference proxy. Store credentials and inference secrets stay on the server. Spec: `docs/CREATE.md`.
Spec: `docs/CREATE.md` (Milestone 3 SoT on this branch).
## Create rules (summary)
`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.
Woo attributes (synced taxonomy) and the OpenAI-compatible inference Settings dependency are defined in `docs/CREATE.md`.
Full behavior is in `docs/CREATE.md`.
## Milestones
- `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.
M1 and M2 are shipped inputs. **M3 scope is defined in `docs/CREATE.md` and Ty conversations — not by older splits on `main`.**
## Milestone status on `m3-ds`
### Milestone 1 — Capture
| 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`. |
Spec: `docs/CAPTURE.md`. Shipped; handoff into Milestone 2.
### Milestone 2 — Photos
Spec: `docs/PHOTOS.md`. Shipped on UAT `:10881`. No Woo create. No Complete-listing taxonomy in this milestone.
### Milestone 3 — Create
Spec: `docs/CREATE.md`. Current work on branch `m3-ds`.
Woo attributes sync via application password, ready-set use of that taxonomy, product create, inference endpoint dependency.
Acceptance: see Done when in `docs/CREATE.md`.
### Later work
Anything beyond `docs/CREATE.md` (including fuller Assist UX) is out of M3 unless Ty expands scope in chat.
Anything beyond `docs/CREATE.md` is out of M3 unless Ty expands scope in chat.