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
+12 -12
View File
@@ -2,25 +2,25 @@
## Agent context
Read this file, `docs/CAPTURE.md`, `docs/PHOTOS.md`, and `docs/CREATE.md`.
Implement **Milestone 3** only. Specification: `docs/CREATE.md`.
PRD overview: `docs/PRODUCT.md` for destination and field names.
Read `docs/README.md` first, then this file, `docs/CAPTURE.md`, `docs/PHOTOS.md`, and `docs/CREATE.md`.
**M3 scope SoT is `docs/CREATE.md` and the Ty conversations that produced it.**
Milestone / task breakdowns on `main` are obsolete for M3. Do not cross-reference `main` for scope once coding on this branch.
Implement **Milestone 3** only. Specification: `docs/CREATE.md`.
Product overview: `docs/PRODUCT.md`.
**M3 scope** (what is in vs out) comes from Ty conversations and `docs/CREATE.md`.
**Behavior** for Woo sync, metadata, pricing, and inference is written into `docs/CREATE.md` from the technical requirements on `main`. Do not treat older milestone splits on `main` as scope authority. Do not code against `main` docs by cross-reference. Use `docs/CREATE.md` on this branch.
Do not implement work outside `docs/CREATE.md` unless Ty expands scope in chat.
Do not touch deploy port `:10880`. UAT redeploy target is overnight Docker on ubudual5060 `:10881`.
## Milestone 3
Create — Woo attributes sync (WordPress application password), proper use of the synced taxonomy for the ready set and product create, plus OpenAI-compatible inference endpoint dependency in Settings.
Acceptance: see Done when in `docs/CREATE.md`. Practice SKU `SLAB-UAT-*` exists in the store as draft; create works with inference off.
Create. Exit criteria: a Photos-ready slab is **submission-ready for WooCommerce**, proven by a `SLAB-UAT-*` Woo draft that matches the reviewed ready set. Inference-off path required.
## Milestone 1–2 (shipped inputs)
## Milestone 1 and 2 (shipped inputs)
- Capture: `docs/CAPTURE.md` — calibration math and PNG contract.
- Photos: `docs/PHOTOS.md` — batch inventory PNGs + dimension overlay. Base tip for this branch: shipped M2 on `:10881`.
- Capture: `docs/CAPTURE.md`
- Photos: `docs/PHOTOS.md` (UAT on `:10881`)
## Invariants
@@ -31,8 +31,8 @@ Acceptance: see Done when in `docs/CREATE.md`. Practice SKU `SLAB-UAT-*` exists
- `bdft = sqft × thickness_in`
- Price proposal is `bdft × species $/bdft`. User may replace it. Missing rate leaves price empty.
- User-entered length, thickness, SKU, price, and taxonomy override computed or inferred values.
- **Woo attributes** = synced species + wood categories; Edge / Figure / Grade / Thickness / Moisture; `fig-*` / `feat-*`. Store is source of truth.
- Woo auth is WordPress application password (server-side). `WOO_BASE_URL` is compose/env; inference URL is Settings.
- **Woo attributes** means synced species and wood categories; Edge, Figure, Grade, Thickness, Moisture; `fig-*` and `feat-*`. Store is source of truth.
- Woo auth is WordPress application password (server-side). `WOO_BASE_URL` is compose/env. Inference URL is Settings.
- SKUs matching `SLAB-UAT-*` create as Woo draft.
- Create works with inference off.
- Source below the PNG size floor requires a new photo.