Ask product to lock the requirements below so UI, backend, and CV can start. Computer-vision rebuild work already exists under CV-837. What is missing is the product contract: when the dealer may correct cards, what Override sends, and when CV is allowed to append again.
- Parent epic: PROD-8463 · CV Rescan to resolve card reading errors · Open · Priyanka Gupta · no children
- CV track: CV-837 Re-scan for Blackjack · Development Complete · mocked UI/backend only
- Existing Override: PROD-8335 shipped bet book / settle / cancel. Card entry was out of scope; Rescan was named as the preferred path
- RD: no open rescan epic. New R&D stories should be created only after product names the parent
1. Decision we need from product
Do not add a separate Rescan button on Dealer Dashboard as the first slice. Use the existing Table Dashboard Override → Result surface for BJCV: live top-card graphics from CV, dealer edits (rank/suit, Split, Double, add/remove), then Apply writes that table into CV player-card memory. Until Apply succeeds, CV must not append further cards on later seats.
Chip-tray “rescan on last pay” (PROD-15083, PROD-19030) is a different feature. It is not in this epic.
2. Why this, not a one-shot Rescan
| PROD-8463 as written | This proposal |
|---|---|
| Correct totals / wrong stack / duplicate card | Same outcomes, done as live Override edits + Apply |
| Rescan button on DD and TD | TD Override is the v1 surface. DD is a follow-up if product wants it |
| Backend must accept new card information | Apply payload is that accept path (Shauna’s backend blocker) |
| Dealer cards for side bets / Tableguard | Dealer row is first-class on Result and in the Apply payload |
| Effect on backend from new totals | Apply is the commit. Paid seats and side bets need an explicit rule (open question) |
3. System contract
- CV → Override. As soon as CV adds a card, Result shows the top-card graphic and running total on that seat or dealer hand.
- Table can diverge. If CV misses a split, double, stack, rank, or hole card, Override shows CV’s PC. Extra physical cards sit in Card Buffer.
- Dealer corrects on Override. Edit rank/suit, Split, Double, add from buffer, or remove a card.
- Apply → CV PC. Backend accepts the Override snapshot. CV replaces its PC with that snapshot.
- Append gate. While the blocked condition is open, CV must not append on subsequent positions. After Apply matches the required structure, normal append resumes.
4. Requirements to lock (acceptance)
Must have — v1
| ID | Requirement | Accept when |
|---|---|---|
| R1 | BJCV Override Result shows Dealer + Seats 1–6 (H1/H2 after split) | Baccarat Banker/Player grid is not used on BJCV tables |
| R2 | Live top-card graphics from CV, no wait-for-rescan batch | A newly accepted CV card appears on that seat without Apply |
| R3 | Dealer can edit rank/suit, add a buffer card, or remove a card | Draft differs from CV PC; Reset Cards restores last CV snapshot |
| R4 | Split and Double are live on each player hand when legal | Pair enables Split. 9–11 two-card hand enables Double. Both update structure and can pull from buffer |
| R5 | Apply writes Override draft into CV PC | Footer / CV overlay reflects the new stacks; next frame uses that PC |
| R6 | Append gate while a listed miss is open | Deal / hit / double on later seats does not mutate CV PC until Apply clears the gate |
| R7 | Card Buffer holds table cards not in CV PC | Unassigned cards are visible and can be placed onto a hand |
| R8 | Dealer hand is in the Apply payload | Hole / upcard corrections reach CV (side bets / Tableguard) |
| R9 | Audit | Successful Apply emits a named event: who, before PC, after PC, seat list |
Explicitly later / out of v1
- Dealer Dashboard Rescan button (PROD-8463 #4 full scope)
- Chip-tray last-pay scan
- Drag-and-drop between seats (v1 is click + buffer)
- Re-settling already-paid seats after a card change (needs product rule)
- Auto-booking Split/Double chip amounts from the card action (today Override books bets separately — do not double-book)
5. Use cases — blocked until Apply
These are the demo presets. Each is a required test case. Walk them on the interactive demo.
| Case | Table truth | CV / backend | Blocked | Unblock |
|---|---|---|---|---|
| UC1 P1 split missed | 5S+9D and 5C+4H | One stack 5S 5C. 9D, 4H in buffer | Append on seats 2–6 | Split Seat 1, place buffer cards, Apply |
| UC2 P3 double missed | 5C 6H 9D marked DD | 5C 6H only | Append on other seats | Double on Seat 3 (takes 9D), Apply |
| UC3 Wrong stack | 8D on P4 | 8D on P5; P4 short | Later appends | Remove 8D from Seat 5, add to Seat 4, Apply |
| UC4 Wrong rank | P2 KS 7D | KS 6D | Later appends | Edit 6 → 7, Apply |
| UC5 Dealer hole misread | Dealer 10S 6H | Hole 5H | Player appends | Edit dealer 5 → 6, Apply |
6. Suggested stories so development can start
Create these as children of PROD-8463 unless product names a different parent. Do not file them under an RD epic until Sovik or Shamsher opens one. No RD rescan epic is open today.
| Story | Team | Scope |
|---|---|---|
| BJCV Override Result layout (Dealer + 6 seats, H1/H2) | UI | Replace Banker/Player. Grey slots, Split/Double, Reset/Apply/Void stay |
| Live CV → Override card stream | UI + CV | Top-card graphic and total as soon as CV accepts a card |
| Override draft + Card Buffer | UI | Edit, add, remove, Split, Double. Reset snaps to last CV PC |
| Apply accept API | Backend | Validate snapshot, persist, emit audit. This is the hard path called out on 4 Dec 2025 |
| CV PC replace + append gate | CV | Load Applied PC (same job as CV-848). Refuse later appends until gate cases are clear |
| UC1–UC5 test pack | QA | The five blocked presets on the demo become official AC |
7. Open questions for product (block stories if unanswered)
- Is v1 Table Dashboard Override only, or must Dealer Dashboard ship in the same release?
- If Apply happens after first pay, do we freeze paid seats or replay payouts / side bets / Tableguard?
- Does pressing Split or Double on Result also book the chip, or only fix CV structure? (Today Override already books Double as a bet.)
- Who may Apply — dealer, supervisor, or either?
- If Apply is incomplete (split without the extra cards), do we reject or allow a partial PC?
Product: confirm the decision in section 1 and answer section 7. Then we create the six stories under PROD-8463 and point QA at the demo.