2.1 KiB
Product
Problem
This inventory is not sunglasses. There are no size/color variations of one SKU. Every slab is a unique unit and a unique listing: unique photos, categorization, title, short title, description, price, and tags.
Shooting photos is tedious. The work that makes the business run starts after the photos exist: produce a listing a buyer can find, filter, and want on the product page.
What "done" means
A slab is ready to create on WooCommerce when all of this is present:
- One or more inventory photos (uniform appearance on the site)
- SKU, length, thickness, price
- Species, wood category, edge type, figure, grade
- Thickness band, moisture
- At least one
fig-*tag - Title, short title, description
feat-*tags optional
Species + one figure is not enough. The store taxonomy (categories, attributes, fig-* / feat-* tags) is the filter system. Copy sits on top of measured facts.
Who decides
| Field | Who |
|---|---|
| Length, thickness | User types |
| SKU | User types |
| Mask / crop | App proposes, user approves on the photo |
| Widths, sqft, bdft | App computes from the approved reference photo + length/thickness |
| Species, wood category, edge, figure, grade, tags | App may propose; user reviews; all editable |
| Price | App proposes bdft × species $/bdft; user may override |
| Title, short title, description | Templates from facts; optional Generate text later; user edits |
Non-math decisions stay mutable until submit. Math follows docs/CAPTURE.md.
After Slice 1
- Templates always build title / short title / description from facts. LLM prose is optional and never required to publish.
- FastAPI is the only Woo caller. Browser never holds store secrets.
- Practice SKUs
SLAB-UAT-*create as draft even if settings say publish. - Duplicate SKU stops the create. No update path in this version.
- Vision / Call 1 / Call 2 only after a manual listing path works. Inference off must still produce a complete listing.
Depth that is no longer live: docs/archive/CONTENT-WOO.md, docs/archive/DATA-MODEL.md, docs/archive/PROMPTS.md.