docs(phase2): reconcile requirements and migrate capabilities/contracts
Surface-matrix sweep of every source doc; added nine missed behaviors (METADATA-115, REVIEW-50, APP-55/60/65, SETTINGS-45 mode, Generate-text availability, defaults-off). 153 requirements, 0 coverage gaps. Migrated capabilities to docs/capabilities/ and contracts to docs/contracts/; added WOO-API, API, DATA-MODEL, PROMPTS, UX, TEST-SPEC. Populated MILESTONES; branch-neutral trunk docs; renamed umbrella term to Woo Slab Taxonomy. Archived reconciliation working records under .audit/archive/.
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# Coverage matrix — CONTENT-WOO, CAPTURE, PHOTOS (current branch)
|
||||
|
||||
Sources: `docs/CONTENT-WOO.md`, `docs/CAPTURE.md`, `docs/PHOTOS.md` (current working tree).
|
||||
|
||||
## Findings
|
||||
|
||||
None new. Two notes: the copy-template storage location ("templates live in Settings") is
|
||||
contract detail for `docs/contracts/CONTENT-WOO.md`, and the case-insensitive name-matching rule
|
||||
is legacy — the review flow selects from pickers, so it is superseded by `METADATA-5`.
|
||||
|
||||
## CONTENT-WOO.md
|
||||
|
||||
Superseded: `short_title` → REVIEW-10; `fig-*` 1+ required → METADATA-30; "≤5 inventory photos" →
|
||||
PUBLISH-40; "Only kind=inventory photos / calibration photos do not exist" → calibration exists
|
||||
(CAPTURE-25, CAPTURE-30); "check against the shared rules (current copy)" → validation module cut
|
||||
(REVIEW-5); case-insensitive name matching → METADATA-5.
|
||||
|
||||
Ported:
|
||||
- `content_llm_enabled`, `content_source` → SETTINGS-30, METADATA-66
|
||||
- `geo_sentence` from Settings, default none → SETTINGS-30
|
||||
- `woo_create_status` default draft → SETTINGS-65
|
||||
- `WOO_BASE_URL` env HTTPS; `SLAB_AES_KEY` → SETTINGS-5, SETTINGS-10, SETTINGS-25
|
||||
- templates title/short/description and `{character}` → contract detail
|
||||
`docs/contracts/CONTENT-WOO.md`
|
||||
- categories species 1 + wood 1+, tags fig/feat, five attributes → METADATA-10, METADATA-15,
|
||||
METADATA-30
|
||||
- ready set → REVIEW-5 (fig/grade cardinality superseded)
|
||||
- payload fields → `docs/contracts/WOO-API.md`, PUBLISH-55
|
||||
- `type simple`, `virtual false`, `downloadable false`, `catalog_visibility visible` → PUBLISH-55
|
||||
- image bytes keep alpha, `POST /media` → PUBLISH-40, WOO-API §5
|
||||
- `SLAB-UAT-*` force draft → PUBLISH-10
|
||||
- status `draft`/`publish`, published meaning → SETTINGS-65, PUBLISH-50
|
||||
- create sequence steps 1–7 → PUBLISH-5
|
||||
- dedupe every time → PUBLISH-15
|
||||
- post-create delete originals + processed → PUBLISH-25
|
||||
- failure: field message, mark failed, keep photos → PUBLISH-30, PUBLISH-35
|
||||
- partial-failure orphaned media manual cleanup → PUBLISH-31
|
||||
- taxonomy sync order, `per_page=100`, 1-hour reconcile, anchor → SETTINGS-50, SETTINGS-55,
|
||||
SETTINGS-60
|
||||
- vision 0.7 fills; vision off typed; typed wins → METADATA-45, METADATA-50, METADATA-70
|
||||
- model writes prose only, synced choices only, no invented dimensions → METADATA-40, METADATA-65
|
||||
- httpx timeouts 10s/60s → contract detail
|
||||
- wire `{field, code, message, actions[]}`, codes never shown → PUBLISH-35, API contract
|
||||
|
||||
## CAPTURE.md
|
||||
|
||||
Ported:
|
||||
- Sheet control, Sensitivity 0–100 → CAPTURE-40, CAPTURE-41
|
||||
- immediate value update, 2.0 s recompute, last good overlay → CAPTURE-45
|
||||
- approve blocked with no slab pixels → CAPTURE-50
|
||||
- length axis rotate/approve → CAPTURE-60
|
||||
- length/thickness 1/8, Calculate → CAPTURE-70
|
||||
- scale `longest_axis_px / L` → CAPTURE-75
|
||||
- widths every 6 in, drop first/last 6, `L ≤ 12` all zero → CAPTURE-80
|
||||
- `sqft = mask_pixels / scale² / 144`, 2 dp → CAPTURE-85
|
||||
- `bdft = sqft × thickness_in`, 2 dp → CAPTURE-90
|
||||
- 3:4, 90% fill, shorter side ≥ 800, no upscale → CAPTURE-100, CAPTURE-105
|
||||
- PNG 8-bit RGBA, alpha kept → CAPTURE-95
|
||||
- browsers and hard stop → CAPTURE-10
|
||||
- client APIs and no OpenCV/ONNX/U2Net → CAPTURE-140
|
||||
- preview display-only, source pixels → CAPTURE-141
|
||||
- device draft, Resume/Continue/Start fresh → APP-10
|
||||
- 1/8 steps → CAPTURE-70; sensitivity maps green/black → CAPTURE-41
|
||||
|
||||
Dropped: busy-mark "fraction of a second" (nit, migration TODO); "other backgrounds out of M1"
|
||||
(scope); M1 single reference photo superseded by batch (CAPTURE-25).
|
||||
|
||||
## PHOTOS.md
|
||||
|
||||
Ported:
|
||||
- batch one or more, continue at least one → CAPTURE-25
|
||||
- pick calibration photo → CAPTURE-25
|
||||
- M1 states on the calibration photo only → CAPTURE-30
|
||||
- Photos ready lineup order → CAPTURE-130
|
||||
- per-photo empty mask / size floor excluded, rest proceed → CAPTURE-110
|
||||
- single-photo batch works → CAPTURE-25
|
||||
- crop rules reuse (3:4, 90%, PNG, floor) → CAPTURE-100, CAPTURE-105
|
||||
- overlay black; stations every 12 in from 6 in, while ≤ L−6; EXIF bottom → CAPTURE-120,
|
||||
CAPTURE-125
|
||||
- 1–N photos → CAPTURE-25
|
||||
- no inference / Woo create on this path → APP-25
|
||||
|
||||
No findings.
|
||||
Reference in New Issue
Block a user