Files
SlabUploader/docs/README.md
T
2026-09-19 19:32:15 +00:00

62 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 templates and Woo payload intent. |
| `UAT-PRACTICE.md` | Human practice walk for a `SLAB-UAT-*` listing. Defers to `capabilities/CREATE.md` on conflict. |
| `archive/` | Historical only. Not M3 scope. |
## Deploy reminders for this branch
- Dev-test env Docker: ubudual5060 `http://192.168.1.202:10881` (LAN) · `http://100.64.0.9:10881` (Tailscale)
- Port block `10880`–`10889` is this project's; never bind `:10880` (Ty Node/SvelteKit)
- Dev-test env binds `0.0.0.0` — reachable from any machine on `192.168.1.0/24`
- Store URL (`WOO_BASE_URL`) lives in compose / host `.env`
- Woo application password and inference URL live in encrypted Settings, not in compose