# Product requirements 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. ## Complete listing - 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. Measured values feed title and description templates. ## 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 | ## Create FastAPI is the Woo client. Store credentials stay on the server. `SLAB-UAT-*` creates as draft. Duplicate SKU blocks create. A listing can be created with inference off. ## Milestones 1. Capture — `docs/CAPTURE.md` (current increment) 2. Review — remaining listing fields in the app 3. Create — Woo draft for a practice SKU 4. Assist — optional vision and generated copy on a working manual path