---
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
