Move PRD to docs/archive/PRD-2026-08.txt with superseded header. Rewrite live references. AGENTS gains Gate A/B/C table, freeze provenance, open-doc-defects slot, and archive rank. README/TECH-SPEC /ARCHITECTURE de-dupe. DoD green: delete PM-DESIGN-ALIGNMENT.
SlabUploader
Mobile-first, self-hosted app for publishing one-of-a-one wood slabs to WooCommerce. Phone capture (online) → hybrid measure/crop on device → review → WooCommerce create.
Owner: Ty (Whidbey). Store: www.whidbeywoodstore.com. Deploy: Docker Compose + Caddy on an inventoried host (APP_HOSTNAME).
Status
Gate A freeze signed 2026-08-31. Docs refactor on branch docs/refactor-v2 (2026-09-01).
Read AGENTS.md before any implementation. TECH-SPEC + ARCHITECTURE + AGENTS beat archived PRD lines.
POC bar: phone → customer-ready listing on the real store; UAT creates as Woo draft
with SLAB-UAT-* SKUs; one real SKU Woo publish after Ty review. Online-only for POC
(offline deferred). Build plan: docs/IMPL-PLAN.md (Phase 0 = hybrid Gates A+B; Gate C =
early Phase 1 first draft listing).
Documentation
| File | What |
|---|---|
AGENTS.md |
Working contract + hard rules (read first) |
docs/ARCHITECTURE.md |
Hybrid client/server split, data flow |
docs/TECH-SPEC-PIPELINE.md |
Deterministic math + image pipeline, constants, test vectors |
docs/DATA-MODEL.md |
SQLite schema + slab status state machine |
docs/OPENAPI.md |
Client↔server API contract |
docs/CONTENT-WOO.md |
Content templates + WooCommerce payload/integration |
docs/PROMPTS.md |
Vision + content prompts (server files) |
docs/DEPLOYMENT.md |
Env-agnostic compose, Caddy, backup/restore |
deploy/INVENTORY.md |
Host inventory worksheet (Gate B) |
docs/IMPL-PLAN.md |
Phased build plan with acceptance criteria + exit gates |
docs/archive/PRD-2026-08.txt |
Frozen historical PRD only (not a source for new work) |
Quick orientation
Hard locks live in AGENTS.md. Short map:
- Hybrid: phone owns mask/sliders/sqft/bdft/3:4 PNG; server stores, Woo, inference proxy, on-demand U2Net.
- bdft = sqft × thickness_in (no
/12). TV-1 through TV-10 on the client. - Secrets never in browser; AES-GCM on server;
SLAB_AES_KEYenv only. - Woo UAT: draft default;
SLAB-UAT-*force draft (AGENTS §5). - Inference OFF until Gate C; Call 1/2 after, still inside POC.
- Online-only for POC (offline PWA deferred).
- Two containers (
frontend,fastapi) + Caddy. Single SQLite + image volumes. - v1 non-goals: no versioning, no staff/roles, no bulk publish, no analytics, no SKU update path.
Repo remotes
- Canonical SoT: Gitea
Ty_Tech/SlabUploaderon gitea-atd (https://gitea.vps1.afterthedemo.com/Ty_Tech/SlabUploader) - Optional later mirrors:
gitea-truenas, GitHub — not SoT for this workstream
Getting started (implementer)
- Read
AGENTS.md(hard rules) and Phase 0 indocs/IMPL-PLAN.md. - Start at Phase 0 — hybrid client TECH-SPEC modules + thin FastAPI health/settings (not a server happy-path pipeline).
- Do not skip exit gates; Ty signs each phase via the delivery process.
- Do not implement from
docs/archive/PRD-2026-08.txt.