Files
SlabUploader/docs/README.md
T
Ty 5a210c47b0 docs(m3): reconcile the remaining docs with the settled design
Docs written before this thread still carried the three-source copy model and
the Call 2 fields it implied.

- REQUIREMENTS.md REVIEW-10: title and short description are deterministic; the
  description comes from the model or the server.
- CREATE.md: primary category declared before Call 2; deterministic copy; the
  prompt revision interface; the slug; auth row in out-of-scope.
- API.md: infer-content inputs and result are the long description only.
- UAT-PRACTICE.md: the walk no longer tells the owner to leave copy for
  templates.
- README.md: the deploy section duplicated docs/DEPLOYMENT.md and
  deploy/INVENTORY.md; it now points at them.
- DEPLOYMENT.md: the prompt seed is stated per METADATA-105.

Both gates pass.
2026-09-19 13:17:37 -07:00

60 lines
3.2 KiB
Markdown

# Docs map
Read this file first. It tells you what SlabUploader is for, what already ships, and what Milestone 3 must build.
**Who this is for.** Mill owner (Ty), humans reviewing scope, and agents implementing.
**Source of truth for Milestone 3.** `docs/REQUIREMENTS.md` plus the M3 ID subset in `docs/MILESTONES.md`. Behavior is in `docs/capabilities/CREATE.md` and the `docs/contracts/` set.
## High-level project goal
SlabUploader lists one-of-a-kind wood slabs on Whidbey Wood Store (WooCommerce).
One slab is one unit and one listing. Photos and metadata are the inventory record. The mill owner photographs a slab on a green or black sheet, gets store-ready transparent PNGs and measurements on the phone, fills the store's taxonomy and price, then creates a WooCommerce product.
Store: https://www.whidbeywoodstore.com/
## What is already implemented (pre-M3)
| Milestone | Spec | Status on this branch |
|---|---|---|
| 1 Capture | `docs/capabilities/CAPTURE.md` | Shipped. Browser-only mask, length axis, measure, inventory PNG, device draft. |
| 2 Photos | `docs/capabilities/PHOTOS.md` | Shipped. Batch photos, pick calibration, apply mask/crop to the batch, dimension overlay, Photos-ready lineup. UAT on `:10881`. |
There is no Woo create yet. There is no Complete-listing taxonomy UI yet. There is no FastAPI Woo client (`backend/` is a stub). Inference is not wired.
## What Milestone 3 builds
Spec: `docs/capabilities/CREATE.md`.
**Exit criteria.** A Photos-ready slab becomes **submission-ready for WooCommerce**, and a practice `SLAB-UAT-*` draft exists in the store that matches the reviewed ready set. Create must still work with inference off.
In plain terms, M3 connects the Photos-ready device draft to the real store:
1. Talk to WooCommerce with a WordPress application password (server-side only).
2. Sync and use the **Woo Slab Taxonomy** (categories, five locked attributes, `fig-*` / `feat-*` tags) per the requirements.
3. Pricing from species `$/bdft` rules, with user override.
4. Inference Settings (OpenAI-compatible URL, key, model) and Call 1 / Call 2 rules when enabled.
5. Review to the full ready set, then create the Woo product (force draft for `SLAB-UAT-*`).
Technical detail for Woo sync, metadata, pricing, and inference is in `docs/capabilities/CREATE.md` and `docs/contracts/`.
## How to read the folder
| File | Role |
|---|---|
| `README.md` (this file) | Map: goals, shipped, M3. |
| `PRODUCT.md` | Product overview: complete listing, decision rights, seams. |
| `capabilities/CAPTURE.md` | Milestone 1 Capture (shipped). |
| `capabilities/PHOTOS.md` | Milestone 2 Photos (shipped). |
| `capabilities/CREATE.md` | Milestone 3 Create. Read this before task breakdown or coding. |
| `contracts/CONTENT-WOO.md` | Listing copy and payload intent; the deterministic title and short-description patterns. |
| `DEPLOYMENT.md` | Ops runbook: hosts, build, smoke checks, rollback. |
| `UAT-PRACTICE.md` | Human practice walk for a `SLAB-UAT-*` listing. Defers to `capabilities/CREATE.md` on conflict. |
| `archive/` | Historical only. Not M3 scope. |
## Deployment
Hosts, ports, build and rollback steps, and the dev-test port block live in `docs/DEPLOYMENT.md`;
`deploy/INVENTORY.md` is the only source for what runs where. This map does not repeat them.