- Evidence
- docs/CC-Analysis/codex-handoff-freemium-positioning.md
Goals
Sprint 3: Capture/Enrich POC - photo/note fields, deterministic tags, review queue — advances D1, D2, D3, D4, D5 toward its gate(s).
Implementation — what to build
D1 — Capture + review queue
- Photo/note capture fields + room/zone context -> inventory_candidates (never canonical).
- Review queue actions: approve / edit / reject / merge / send-back-for-better-photos.
D2 — Deterministic enrichment
- src/lib/troveTags.ts: deriveTreasureTags (keyword rules) + buildSearchVectorText — no paid AI.
D3 — Human-review gate
- Suggestions never mutate canonical state without accept; promoteInventoryCandidate() stays the only writer.
D4 — Source-import pipeline
- source_import_runs / source_import_records -> inventory_candidates, end to end (+ connectors WI-020); plugin_events audit.
D5 — Enrichment mocks (stable contracts)
- troveSnapEnrichment / troveCopyGen / troveAntiCheat: stable contracts, gated behind review; an LLM swaps in behind the same contract.
Acceptance
- Capture, import, deterministic enrich, and review improve intake without silent canonical mutation.
Checklist
- ○
D1 Photo/note capture fields and review queue are demoable. - ○
D2 Deterministic enrichment and tags work where rules are clear. - ○
D3 Human-reviewed suggestions are required before operational mutation. - ○
D4 Source-import pipeline (source_import_runs/records -> inventory_candidates) is demoable end to end. - ○
D5 Deterministic enrichment mocks (tags/enrichment/copy) have stable contracts and are gated behind review.
Gates & testing
- ○ D1 Photo/note capture fields and review queue are demoable.
CODE TEST
- ○ D2 Deterministic enrichment and tags work where rules are clear.
CODE TEST
- ○ D3 Human-reviewed suggestions are required before operational mutation.
CODE TEST
- ○ D4 Source-import pipeline (source_import_runs/records -> inventory_candidates) is demoable end to end.
CODE TEST
- ○ D5 Deterministic enrichment mocks (tags/enrichment/copy) have stable contracts and are gated behind review.
CODE TEST
Requirements
REQ-CAPTURE-001 accepted Photo and note capture needs a review queue before enrichment becomes operational state, capturing room/zone/pickup context on site. Done when: Demo captures media/notes + room context and queues them for review; output stays an inventory_candidate, not canonical inventory.
REQ-CAPTURE-002 accepted Deterministic enrichment should be used where rules are clear (on-device/low-cost before paid AI). Done when: Rule-based tags/enrichment are distinguishable from guesses; deriveTreasureTags + buildSearchVectorText power search without paid calls.
REQ-CAPTURE-003 accepted Suggested enrichment must be human-reviewed before operational mutation. Done when: Seller approves/edits/rejects/merges/sends-back-for-better-photos before any state change; promoteInventoryCandidate() remains the only canonical path.
REQ-CAPTURE-004 accepted The source-import pipeline must run end to end into candidates. Done when: source_import_runs/source_import_records -> inventory_candidates is demoable end to end with plugin_events audit.
REQ-CAPTURE-005 implemented Deterministic enrichment mocks must have stable contracts gated behind review. Done when: Tags/enrichment/copy/anti-cheat mocks (troveTags, troveSnapEnrichment, troveCopyGen, troveAntiCheat) have stable contracts and never mutate canonical state without review; LLMs swap in behind the same contract.
Verify (done when)
capture + deterministic enrichment + review queue improve intake without silent mutation.
Cost triggers
No paid API / infra spend triggered by this item.
Status & editing
queued Sprint: Sprint 3 - Capture/Enrich POC
Edit status / sprint on the ★ Live Board → — changes are logged live with who / when / why.
Human-in-the-loop
No human tasks linked.
Findings
None recorded yet.
Concerns
None recorded yet.
Tech debt
None recorded yet.
Tools used
No tool calls recorded.
Files & artifacts
No files / artifacts recorded.
Update log
No log entries yet.