deckhearth/.convoys/tighten-scan-identify-hot-path/brief-2-collector-number-l1.md
varutasu 0b4f419f49
Scanner identify upgrade — Phase 1 hot path (#156)
* 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>
2026-08-14 20:21:20 -05:00

695 B

convoy brief_number depends_on recommended_model model_tier files
tighten-scan-identify-hot-path 2
composer-2.5-fast fast
lib/ocr-worker.js
lib/card-text-match.js
pages/api/cards/identify-by-text.js
lib/scanner-card-identify.js
test/lib/card-text-match.test.js

Brief 2: Collector number on Layer 1

Goal

OCR name + collector number strips; unique-match printings when number resolves one row.

Acceptance criteria

  • PSM 7 on name strip; bottom 18% number strip
  • matchTextInCatalog accepts cardNumber
  • identify-by-text passes cardNumber
  • JPEG capture quality 0.92 for OCR path
  • Unit tests for number extraction helper