Files
SlabUploader/README.md
T
Ty 4d9f3070a7 docs: lock inference review — prompts, Call 1/2, feat tags
Restore CONTENT-WOO, add PROMPTS.md, and align PRD/architecture/API
with inference decisions: prompt files on disk, 0.7 confidence gate,
species constrained to Woo leaves, Call 2 prose-only + templates,
feat-* tags, and inference_enabled gating.
2026-08-31 17:11:05 -07:00

45 lines
2.3 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.
# SlabUploader
Mobile-first, self-hosted app for publishing one-of-a-one wood slabs to WooCommerce.
Field capture (offline) → deterministic measurement/pricing/normalization → publish a
single slab to the store as a pending product.
Owner: Ty (Whidbey). Store: www.whidbeywoodstore.com. Deploy: .201 (Caddy, Docker).
## Status
**Planning complete — ready for implementation.** All 20 product decisions locked
(PRD "Decisions log", 2026-08-24). Build plan in `docs/IMPL-PLAN.md` (phases 0–6).
## Documentation
| File | What |
|---|---|
| `Slab capture app PRD.txt` | Requirements + locked decisions (source of truth for "what") |
| `docs/ARCHITECTURE.md` | Services, client/server split, offline PWA, data flow |
| `docs/TECH-SPEC-PIPELINE.md` | Deterministic math + image pipeline, constants, 9 test vectors |
| `docs/DATA-MODEL.md` | SQLite schema + status state machine |
| `docs/OPENAPI.md` | Client↔server API contract (deliverable #2) |
| `docs/CONTENT-WOO.md` | Content templates + WooCommerce payload/integration |
| `docs/PROMPTS.md` | Call 1 vision prompt + Call 2 content prompt (server files) |
| `docs/DEPLOYMENT.md` | Compose, Caddy, backup/restore, key rotation (deliverable #4) |
| `docs/IMPL-PLAN.md` | Phased build plan with acceptance criteria + exit gates |
| `AGENTS.md` | Working contract + hard rules for anyone implementing |
## Quick orientation
- **Deterministic core** (measurements, pricing, normalization, Woo sync) is pure,
network-free, and unit-tested. Inference (species/character + optional content) is
the *only* scoped-LLM surface, and it's toggleable — the app fully works without it.
- **Offline-first PWA**: capture works with no network; drafts + photos persist in
IndexedDB and sync when online.
- **Two containers** (`frontend`, `fastapi`) + Caddy. Single SQLite + image volumes.
- **v1 non-goals**: no versioning, no staff/roles, no bulk publish, no analytics,
no update path (create-only, SKU-deduped).
## Repo remotes
- Canonical: `github.com/TyTech99/SlabUploader`
- Mirror: Gitea `TyTech_Internal/SlabUploader` (truenas.local:30008)
## Getting started (implementer)
1. Read `AGENTS.md` (hard rules) and `docs/IMPL-PLAN.md` (phases).
2. Start at Phase 0 — scaffold + the tested deterministic pipeline.
3. Don't skip the exit gates; Ty signs each phase.