# Hinglish code-switching voice-agent test cards

Use these cards to test meaning across language switches, corrections, entities, tools, and final system state. They are fictional examples. Replace names, policies, and tool fields with approved data from your own workflow.

## How to run the pack

1. Record each caller turn with at least three speakers. Include one narrowband phone route and one noisy route.
2. Run every recording at least five times against the release candidate and current baseline.
3. Check transcript evidence, normalized entities, tool arguments, spoken confirmation, and the final business state.
4. Mark a case failed if any required layer is wrong. A correct transcript cannot rescue a wrong tool call.

## Card 01: delivery window switch

- **Caller says:** “Kal morning nahi, make it after six. Guard ko Hindi mein bol dena.”
- **Expected intent:** Change delivery window to after 18:00 tomorrow and add a Hindi instruction for the building guard.
- **Must preserve:** `date=tomorrow`, `window_start=18:00`, instruction language is Hindi.
- **Trap:** The agent changes the date but drops the guard instruction.
- **Verify:** Delivery record, note language, and the exact read-back.

## Card 02: corrected amount

- **Caller says:** “Refund fifteen hundred... sorry, one five zero, sirf one fifty.”
- **Expected intent:** ₹150, not ₹1,500.
- **Trap:** The model holds on to the first amount after the correction.
- **Verify:** No refund tool call before a clear amount confirmation.

## Card 03: name across scripts

- **Caller says:** “Naam is Shreyas, S-H-R-E-Y-A-S, but Hindi mein श्रेयस बोलते hain.”
- **Expected intent:** One person, with an English spelling and Hindi pronunciation hint.
- **Trap:** Two customer records or a spelling rewritten from pronunciation.
- **Verify:** The customer ID selected by deterministic lookup, not by model guess.

## Card 04: branch and city collision

- **Caller says:** “HDFC Vasant Kunj, Delhi wala, not Vasant Vihar.”
- **Expected intent:** Vasant Kunj branch in Delhi.
- **Trap:** Location correction is heard but the first candidate remains in the tool payload.
- **Verify:** Candidate list, correction event, final branch identifier.

## Card 05: polite refusal

- **Caller says:** “Nahi nahi, abhi payment mat karna. Bas due date batao.”
- **Expected intent:** Information only. No payment attempt.
- **Trap:** The agent focuses on “payment” and launches a payment tool.
- **Verify:** Tool ledger contains only a due-date lookup.

## Card 06: English product, Hindi policy question

- **Caller says:** “Premium Plus plan mein maternity waiting period kitna hai?”
- **Expected intent:** Ask for the maternity waiting period for the named product.
- **Trap:** Product name translated or matched to the wrong plan.
- **Verify:** Approved policy source, version, and spoken answer.

## Card 07: background assent

- **Caller says:** “Ek minute,” while a television voice says “haan.”
- **Expected intent:** Pause. No confirmation.
- **Trap:** Background audio is counted as approval.
- **Verify:** Confirmation state stays pending.

## Card 08: human handoff

- **Caller says:** “Mujhe agent se baat karni hai. I don’t want to repeat all this.”
- **Expected intent:** Transfer with context.
- **Trap:** Agent keeps troubleshooting or transfers without the verified summary.
- **Verify:** Destination, context envelope, and repetition after transfer.

## Release note template

```text
Build:
Prompt/model/voice versions:
Phone routes:
Speakers and consent record:
Cases run:
Repeated-pass result by card:
Any transcript-only pass with outcome failure:
Open exceptions, owner, expiry:
Release decision and approver:
```
