Files
SlabUploader/docs/contracts
Ty d6aa79b593 docs(m3): regroup METADATA and remove the false fallback framing
METADATA was ordered as it was written, not by topic, and used Call 1 /
Call 2 without defining them.

- Add a short METADATA preamble stating the inference flow: Call 1 vision
  proposes taxonomy, the name and short description are deterministic, Call 2
  writes the long description.
- Regroup the rows: taxonomy, then Call 1, then deterministic copy, then
  Call 2, then cross-cutting.
- METADATA-70 said the deterministic name and short description were an
  inference-off fallback; they are unconditional. It now covers only the
  inference-off description.
- METADATA-81 folded into METADATA-80 (same rule, two strings).
- METADATA-45 now names the below-threshold outcome.
- METADATA-90 now states what the fact block drives.

153 requirements; check_requirements and check_coverage both pass.
2026-09-19 12:10:11 -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.