deckhearth/.convoys/redesign-scanner-flow/audit-redesign-scanner-flow-44.md
varutasu 30b21b42c5
fix(api): validate quantity on POST /api/user-cards (#46)
Match decks handler parseInt/NaN guard so non-numeric quantities cannot
corrupt user_cards row counts from scanner add paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 14:25:20 -05:00

42 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
convoy: redesign-scanner-flow
multitask_group: audit-redesign-scanner-flow-44
prs: [42, 43, 44]
audited_at: 2026-05-27
outcome: comment-only
---
# Post-PR audit: redesign-scanner-flow
Combined diff: `55af7e3..673af83` (Briefs 13, PRs #42#44).
## Rollup
| Role | Recommendation | Blockers |
| --- | --- | --- |
| Reviewer | comment-only | 0 critical |
| Design system | 7 token violations (pre-existing `CameraScanner.js` overlay) | 0 blockers |
| A11y | 8 critical, 8 warnings | Ownership badge + modal focus |
Reports posted to [PR #44](https://github.com/varutasu/tcg-vault/pull/44#issuecomment).
## Follow-up convoys (queued)
| Slug | Priority | Source |
| --- | --- | --- |
| `scanner-redesign-a11y-fixes` | P1 | **RESOLVED** — PR #45 |
| `scanner-user-cards-quantity-guard` | P2 | **In progress** — PR pending |
| `test-scanner-redesign-surfaces` | P2 | Reviewer — unit tests for new components + upload route |
| `document-condition-foil-destination-semantics` | P3 | Reviewer — clarify or migrate condition/foil for collection/deck rows |
| `camera-scanner-token-cleanup` | P3 | Design system — replace hardcoded hex overlay colors in CameraScanner |
## Acceptance criteria sign-off
| # | Criterion | Status |
| --- | --- | --- |
| 1 | Single destination; scans auto-route | ✅ |
| 2 | Condition/foil/quantity propagate | ⚠️ owned only; collection/deck accept but don't persist |
| 3 | Ownership badge | ⚠️ works visually; a11y role missing |
| 4 | Scan image URL on user_cards | ✅ |
| 5 | Lint + vitest baseline | ✅ |
| 6 | Destination picker keyboard + badge a11y | ⚠️ picker ✅; badge ❌ |