0eb2b0f697
- 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
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 tagOPENAPI.md)DATA-MODEL.md— SQLite schema and status machine (from tagDATA-MODEL.md)UX.md— screens, field recovery, outcomes (from tagUX.md)PROMPTS.md— Call 1 / Call 2 prompt text and inputs (from tagPROMPTS.md)CONTENT-WOO.md— listing copy and Woo payload intent (fromdocs/CONTENT-WOO.md)TEST-SPEC.md— test pyramid, vectors, dishonest proxies (from tagTEST-SPEC.md) — pending
Template: docs/_templates/contract.md.