docs(convoy): close redesign-scanner-flow post-PR audit

Record audit-redesign-scanner-flow-44 rollup and queue follow-up convoys
from reviewer, design-system, and a11y fan-out on PRs #42–#44.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Randall Stillwell 2026-05-27 14:09:50 -05:00
parent 673af83519
commit ff73743a9f
3 changed files with 54 additions and 17 deletions

View file

@ -7,7 +7,7 @@ success_metric: |
to destinations; "you already own N" ownership badge via /api/cards/[id]/ownership;
captured frame persisted to Vercel Blob and attached to user_cards.
skip: []
status: open
status: closed
created: 2026-05-27
depends_on:
- server-side-scan-pipeline
@ -67,13 +67,13 @@ that block efficient bulk scanning at the table.
## Todos
- [ ] IA: stack-destination information architecture
- [ ] UX: condition/foil/quantity controls + ownership badge
- [ ] Architect: brief decomposition + API body-param contract
- [ ] Brief 1 — destination picker + session state
- [ ] Brief 2 — metadata + ownership (after Brief 1)
- [ ] Brief 3 — Blob persistence (after Brief 1)
- [ ] Design-system: verify theme tokens on new components
- [x] IA: stack-destination information architecture
- [x] UX: condition/foil/quantity controls + ownership badge
- [x] Architect: brief decomposition + API body-param contract
- [x] Brief 1 — destination picker + session state (#42)
- [x] Brief 2 — metadata + ownership (#43)
- [x] Brief 3 — Blob persistence (#44)
- [x] Post-PR audit — `audit-redesign-scanner-flow-44` (see `.convoys/redesign-scanner-flow/audit-redesign-scanner-flow-44.md`)
## Operator action required

View file

@ -0,0 +1,42 @@
---
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 | A11y audit — ownership badge role, modal focus traps, unlabeled selects/buttons |
| `scanner-user-cards-quantity-guard` | P2 | Reviewer — parseInt/NaN guard parity with decks handler |
| `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 ❌ |

View file

@ -506,11 +506,7 @@ Six convoys authored from the scanner audit portfolio plan. Dependency order:
identify-by-text route; ≥70% Layer-1 hit rate via `scan_attempts.layer`.
Piggybacks `schema-map-fresh` CI path fix for `migrations/`. Convoy:
`.convoys/add-real-ocr-layer.md`.
- **`redesign-scanner-flow`** (priority: P1 feature;
`depends_on: server-side-scan-pipeline`). Stack-destination UX,
condition/foil/quantity, ownership badge, Blob scan-image persistence. Three
briefs; `/multitask` briefs 2+3 after brief 1. Can run parallel with
`add-real-ocr-layer`. Convoy: `.convoys/redesign-scanner-flow.md`.
- **`redesign-scanner-flow`** — **RESOLVED 2026-05-27** — PRs #42 (Brief 1), #43 (Brief 2), #44 (Brief 3). Post-PR audit `audit-redesign-scanner-flow-44` posted to PR #44; outcome comment-only. See `.convoys/redesign-scanner-flow/audit-redesign-scanner-flow-44.md`. Follow-ups queued: `scanner-redesign-a11y-fixes` (P1), `scanner-user-cards-quantity-guard` (P2), `test-scanner-redesign-surfaces` (P2).
- **`rename-collections-vocabulary`** (priority: P2 IA/copy; parallel to #1+#2).
"My Collection" / "Lists" / "Binders" copy sweep; `forbidden-stale-strings`
CI gate; `AGENTS.md` vocabulary table. Skips architect (`skip: arch`); IA +
@ -542,10 +538,9 @@ Six convoys authored from the scanner audit portfolio plan. Dependency order:
logic from `import-mtg` / `import-pokemon`, discover missing sets via Scryfall +
Pokémon TCG API `/sets`, protected `/api/cron/sync-catalog` with `CRON_SECRET`,
`vercel.json` weekly schedule, paced imports respecting upstream rate limits.
Lorcana auto-discovery deferred (hardcoded `setCodeMap` today). **Do not start
until** `redesign-scanner-flow`, `scanner-correctness-polish`, and in-flight
scanner fixes (catalog-gap disambiguation, foil vision) are merged — operator
explicitly requested finishing scanner work first. Convoy:
Lorcana auto-discovery deferred (hardcoded `setCodeMap` today). **Unblocked**
post-`redesign-scanner-flow` merge (2026-05-27); still defer if operator wants
a11y fixes or catalog import (Perfect Order) first. Convoy:
`.convoys/catalog-sync-vercel-cron.md`.
## Self-analytics