From f1c60de3553aa2def8cee56c7bd4a46c184f299c Mon Sep 17 00:00:00 2001 From: Ty Date: Fri, 11 Sep 2026 13:45:53 +0000 Subject: [PATCH] docs: add live PRODUCT spec on doc-simplification --- docs/PRODUCT.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/PRODUCT.md diff --git a/docs/PRODUCT.md b/docs/PRODUCT.md new file mode 100644 index 0000000..d7926ed --- /dev/null +++ b/docs/PRODUCT.md @@ -0,0 +1,45 @@ +# 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`.