From 10eee460972db033efad186221b6d307465e0890 Mon Sep 17 00:00:00 2001 From: Ty Date: Fri, 11 Sep 2026 14:14:17 +0000 Subject: [PATCH] docs: PRODUCT.md as PRD with milestones --- docs/PRODUCT.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/docs/PRODUCT.md b/docs/PRODUCT.md index d6d0077..9143152 100644 --- a/docs/PRODUCT.md +++ b/docs/PRODUCT.md @@ -1,8 +1,10 @@ -# Product +# Product requirements -Each slab is one unit and one listing. +SlabUploader creates one WooCommerce listing per wood slab for Whidbey Wood Store. -A listing is complete when it has: +Each slab is one unit and one listing. Photos and metadata are the inventory record. + +## Complete listing - Inventory photo(s), uniform 3:4 transparent PNG - SKU, length, thickness, price @@ -12,7 +14,7 @@ A listing is complete when it has: - Title, short title, description - Zero or more `feat-*` tags -Categories, attributes, and `fig-*` / `feat-*` tags are the store filters. Measured values feed title and description templates. +Store categories, attributes, and `fig-*` / `feat-*` tags are the filters. Measured values feed title and description templates. ## Decision rights @@ -28,6 +30,14 @@ Categories, attributes, and `fig-*` / `feat-*` tags are the store filters. Measu ## Create -- FastAPI is the Woo client. Store credentials stay on the server. -- `SLAB-UAT-*` creates as draft. -- Duplicate SKU blocks 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