---
convoy: tighten-scan-identify-hot-path
brief_number: 2
depends_on: []
recommended_model: composer-2.5-fast
model_tier: fast
files:
  - 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
