Files
SlabUploader/docs/contracts
Ty bdd03afce4 fix(review): thickness band derived from thickness_in (#88); MultiSelect shows selected names + commits on toggle settle (#90)
#88 — thickness band is now display-only, derived deterministically from
thickness_in against the synced Woo thickness terms (TV-9 / QUALITY-95).
Replaces the <select> with a read-only div. New pure function
deriveThicknessTermId + 6 unit tests. Docs (UAT-PRACTICE, contracts/UX)
updated to reflect the band is not an owner control.

#90 — MultiSelect closed state now shows the selected option names
(truncated to 2 + +N) instead of just a count. onCommit prop wired so
multi-select changes persist + re-review immediately (250ms debounce,
flush on Done, cleanup on destroy). Single-select binds use string vars
(speciesSel/edgeSel/gradeSel) to fix the number/string mismatch with
<option value={id}>; a tick()-deferred syncSelects() keeps the DOM
option in sync after programmatic writes (AI prefill, reload hydrate)
that Svelte's own select_option would otherwise reset.
2026-09-21 09:56:44 -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.