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

2.3 KiB
Raw Blame History

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.