Voice agents fail in 6 ways in production. Each card: the problem, a real example, and the v4 component that stops it.
A dual-boundary firewall: it guards what the agent is about to say and about to do, grounded in a session state the model can't touch.
① Speech guard — what it's about to SAY
② Action guard — what it's about to DO
Timing: clean turns release immediately (~0 ms guard compute). The expensive grounded verifier runs only on flagged spans; a deflection filler is spoken first to cover its latency. Tool calls are always checked before they fire.
Measured on a hard, balanced benchmark — 65 induced violations + 64 clean near-misses + 21 good-calls, live on gpt-5.4-mini. Every lever raised both precision and recall.
What the benchmark covers (65 violations)
| Failure family | Cases |
|---|---|
| Semantic / intent (negation, correction, conditional…) | 32 |
| Fabrication / grounding (price, hours, policy…) | 16 |
| Action-side (wrong tool, unconfirmed, false-complete) | 7 |
| Math / numeric (totals, quantity) | 6 |
| Commitment / authority | 3 |
Plus 64 "handled-correctly" twins + 21 adversarial good-calls — the precision test (don't fire on correct replies).
Latency — added guard compute
| Path | Added latency |
|---|---|
| Clean fast-path (no NLI) | ~0.1 ms |
| Clean + NLI tier (large model) | ~0.9 s |
| Clean + NLI tier (small model) | ~47 ms |
| Flagged — first audio (filler) | ~1.3 s |
| Flagged — corrected answer | ~4.3 s |
Speculative mode moves the NLI cost off the first-audio path (voice now, check after) → ~0 ms perceived.