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.
2.7 KiB
Product overview
SlabUploader creates one WooCommerce listing per wood slab for Whidbey Wood Store.
Each slab is one unit and one listing. Photos and metadata are the inventory record.
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
- Thickness band, moisture
- One or more
fig-*tags - Title, short title, 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.
The locked name for that synced taxonomy package is Woo attributes. Details live in docs/CREATE.md.
Decision rights
| Field | Source |
|---|---|
| Length, thickness | User |
| SKU | User |
| Mask and crop | App proposal, user approve |
| 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 |
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 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 introduces FastAPI as the Woo client and inference proxy. Store credentials and inference secrets stay on the server. Spec: docs/CREATE.md.
Create rules (summary)
Full behavior is in docs/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 | 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. |
Anything beyond docs/CREATE.md is out of M3 unless Ty expands scope in chat.