Files
SlabUploader/docs/contracts
Ty 0eb2b0f697 feat(backend): S0 foundation (schema + stdlib sqlite3 db factory + health/meta + JSON logs)
- backend/db/schema.sql: all 12 tables from DATA-MODEL.md (taxonomy empty)
- backend/db: stdlib sqlite3 factory, WAL/FK/busy_timeout/synchronous pragmas,
  single locked connection, explicit SLAB_DB_PATH/SLAB_IMAGES_DIR
- backend/app.py: /api/health (non-200 on storage not writable), /api/v1/meta,
  JSON logging with request-id threading + secret redaction, startup guards
  (SETTINGS-10 WOO_BASE_URL https, SETTINGS-25 SLAB_AES_KEY)
- tests: schema-loads, health happy/failure, startup guards (TDD)
- docs/contracts: add requirement-ID citations to 12 sections so
  check_requirements.py passes (pre-existing gate debt)

Gates: check_requirements.py + check_coverage.py exit 0; pytest 5 passed
2026-09-19 15:34:15 -07:00
..

Contract docs

Cross-cutting interface detail shared by capabilities.

Rules (docs/STRUCTURE.md): a contract doc cites requirement IDs from docs/REQUIREMENTS.md; it never defines or restates them.

Contract docs (migrated):

  • WOO-API.md — external WooCommerce REST API v3 surface (new; the dependency contract)
  • API.md — FastAPI HTTP contract (from tag OPENAPI.md)
  • DATA-MODEL.md — SQLite schema and status machine (from tag DATA-MODEL.md)
  • UX.md — screens, field recovery, outcomes (from tag UX.md)
  • PROMPTS.md — Call 1 / Call 2 prompt text and inputs (from tag PROMPTS.md)
  • CONTENT-WOO.md — listing copy and Woo payload intent (from docs/CONTENT-WOO.md)
  • TEST-SPEC.md — test pyramid, vectors, dishonest proxies (from tag TEST-SPEC.md) — pending

Template: docs/_templates/contract.md.