* docs(convoy): seed scanner identify upgrade epic and sub-convoys Baseline scan_attempts telemetry and three-phase plan for faster, more accurate card identification without touching scanner chrome. Co-authored-by: Cursor <cursoragent@cursor.com> * feat(scanner): tighten Layer-1 identify hot path (Phase 1) Cut verify hold-still gates, OCR collector numbers on Layer 1, request structured Gemini JSON, and skip automatic L2 refine when L1 opens the printing picker. Includes convoy UX/architecture briefs and unit tests. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
482 B
Markdown
22 lines
482 B
Markdown
---
|
|
convoy: tighten-scan-identify-hot-path
|
|
brief_number: 3
|
|
depends_on: []
|
|
recommended_model: composer-2.5-fast
|
|
model_tier: fast
|
|
files:
|
|
- lib/scan-vision.js
|
|
- pages/api/scan/identify.js
|
|
---
|
|
|
|
# Brief 3: Structured Gemini JSON
|
|
|
|
## Goal
|
|
|
|
Request JSON schema from AI Gateway; fail loud on parse errors.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] `response_format` json_schema on gateway call
|
|
- [ ] No confidence-30 regex success path
|
|
- [ ] identify route returns needsUserInput on parse failure
|