For anyone running a live voice agent

Your dashboard says thecall was resolved. Was it?

Voice agents log calls as successful that quoted a wrong balance, never handed off an angry caller, or ended politely with the goal unmet. This auditor grades a batch of your call transcripts, catches those calls, and names the one to review first — with a trust gate that forces MISHANDLED on any fabricated fact or failed handoff, however polished the rest of the call.

Get the Auditor — $129one-time · instant download · yours to keep
Six deliverables · runnable
Call Audit workbook (.xlsx)
excel
Runnable Python engine
cli
Four Claude Skills
skills
Exhaustive verifier (729-combo)
proof
Call QA Marking Playbook
docx
Fix & Re-Audit Runbook
docx
Works alongside
Voice Agent Deployment Kit · AI Agent Go-Live Readiness Gate
01.The Problem

The dashboard tracks whether the call ended — not whether it went well.

Confident

and wrong. A voice agent states a balance, a policy, or a price it could not know, in a natural voice a caller can't fact-check in real time. It's the failure mode QA teams rank most dangerous — and it logs as a normal call.

No handoff

A frustrated caller needed a human and the agent looped, faked competence, or dead-ended. Every missed escalation is a task the AI couldn't finish — and a customer who remembers it.

Polite,

unresolved. The call ended courteously with the caller's goal unmet. Containment counts it a win; the caller calls back. Transcript-only dashboards miss it because the words sound fine.

02.See It Work

Six signals per call, a craft MIN, and a trust gate that outranks a clean score.

Live demo — the shipped 6-call sample. Tap a call, change its marks, watch the trust gate work.
CALL-1042
Taskw22
Groundingw20 · trust
Escalationw20 · trust
Policyw16
Handlingw12
Tonew10
Score: 80Craft base: RESOLVEDVerdict: MISHANDLEDFix first: Factual grounding

The trust gate is worsening this verdict. A trust signal (factual grounding or escalation correctness) at 1 caps a call to SOFT-HANDLED; at 0 it forces MISHANDLED — because a fabricated fact or a failed handoff makes a call harmful however polished. Craft alone would have read RESOLVED.

Batch verdict
MISHANDLING FOUND
Mishandle rate
67% (4 of 6)
Review first
CALL-1051Escalation correctness

Same signals, weights, and two-layer gate as the workbook and the runnable engine — one scoring model, three surfaces. Deterministic and offline: it grades calls that already happened, connects to no live agent, and scores no people. Refresh resets the demo; the kit is yours to keep.

03.The Runnable Engine

One command grades the whole batch — this output is from the shipped sample, run and verified.

python3 voice_qa_auditor.py sample_calls.csv
VOICE-AGENT CONVERSATION QA & ESCALATION AUDIT
==========================================================================
Signals (weights): Task resolution 22, Factual grounding 20, Escalation correctness 20, Policy & disclosure compliance 16, Conversation handling 12, Tone appropriateness 10
Verdict = craft MIN (task/policy/handling/tone), then worsened by
the trust gate: grounding or escalation at 1 caps to SOFT-HANDLED,
at 0 forces MISHANDLED.
--------------------------------------------------------------------------
CALL-1042     80  MISHANDLED    [TRUST GATE: forced]
    Balance inquiry - agent stated a specific balance it could not v
    fix first: Factual grounding
CALL-1043    100  RESOLVED
    Appointment reschedule - smooth, confirmed new time
    fix first: Task resolution
CALL-1051     39  MISHANDLED
    Billing dispute - agent looped, never handed off the angry calle
    fix first: Escalation correctness
CALL-1067     79  MISHANDLED
    Order status - resolved but skipped identity verification step
    fix first: Policy & disclosure compliance
CALL-1078     62  MISHANDLED
    Return request - polite throughout but caller hung up unresolved
    fix first: Task resolution
CALL-1090     90  SOFT-HANDLED  [TRUST GATE: forced]
    Plan change - flawless handling but quoted an unverified promo r
    fix first: Factual grounding
--------------------------------------------------------------------------
BATCH VERDICT: MISHANDLING FOUND
Mishandle rate: 67% (4 of 6 calls MISHANDLED; 1 RESOLVED)
Review first: CALL-1051 -> Escalation correctness
==========================================================================
Deterministic and offline. Grades marks a human recorded from
transcripts of calls that already happened; connects to no live
agent, sends nothing, scores no people. Not legal advice.

Read CALL-1042: it scores 80 — and reads MISHANDLED anyway, because the trust gate caught a balance the agent couldn't verify. And CALL-1090 has flawless craft yet reads SOFT-HANDLED, because it quoted an unverified rate — the gate doing work a quality average would hide. Zero dependencies, Python 3.8+, fully offline; the workbook reproduces the same scoring cell by cell, and a 729-combination verifier ships in the zip that proves the trust gate changes the verdict on 83 of those combinations.

04.The Standard

Two layers, each doing distinct work, and a verdict from your own confirmed marks.

Craft MIN

The weakest of the four craft signals — task resolution, policy, conversation handling, tone — sets the base verdict, because one broken part of the interaction sinks the call however good the rest was.

The trust gate

The two trust signals — factual grounding and escalation correctness — then worsen that base. A 1 caps a call to SOFT-HANDLED even at perfect craft; a 0 forces MISHANDLED. Graduated, worsen-only, and it never lifts a verdict.

Your marks, your verdict

The four Claude Skills propose marks and cite the transcript turns; a human confirms every mark before the verdict stands. No hidden benchmark, no invented rate — the verdict comes from what the calls actually show.

05.What This Is — And Isn't

The post-launch QA layer, not a live monitor and not another agent.

What it is
  • A deterministic, offline QA read of a batch of call transcripts — per-call verdict, mishandle rate, and the one call to review first.
  • Four Claude Skills that read your transcripts, mark each call with cited evidence, draft the fix, and assemble the report — for you to confirm and act on.
  • One scoring model on three surfaces — workbook, Python engine, and this page's demo — with a shipped verifier that proves they agree and that the trust gate earns its place.
  • The measurement layer beside the AI Voice Agent Deployment Kit (build) and the AI Agent Go-Live Readiness Gate (pre-launch).
What it isn't
  • Not a live monitor or a call simulator — it grades calls that already happened, connects to no live agent, and dials nothing.
  • Not an auto-fixer. It drafts recommended changes — a prompt edit, a KB gap, an escalation rule — for a human to review and apply to their own agent.
  • Not a scorer of people. It grades the AI agent's conversation, never the caller and never the human who takes a handoff.
  • Not legal, safety, or compliance advice, and no resolution or containment outcome is guaranteed.
06.Who It's For

Anyone accountable for what a live voice agent says to customers.

Ops and CX leaders running a Vapi, Retell, ElevenLabs, or GoHighLevel voice agent in production
Agencies deploying voice agents for clients who need a defensible QA read, not a vendor dashboard
Founders who turned on a voice agent and want to know what it's actually saying on calls
Support teams whose containment rate looks great but callbacks and escalations are rising
Anyone who just shipped a voice agent and needs the first honest audit of a real call batch
Teams in regulated-adjacent contexts where a hallucinated fact on a call is a real liability
08.Common Questions

Direct answers on scope, the trust gate, and the calls this catches.

No. It is deterministic and fully offline. You supply transcripts of calls that already happened; you (or the four Claude Skills) mark six 0/1/2 signals per call, and the engine returns the verdict. It connects to no live agent, dials nothing, and sends nothing.

Find the calls your
dashboard is hiding.

One audit tells you which calls your agent actually mishandled — and the one to fix first. One purchase, lifetime access, 12 months of updates. $129, once.

Sold by RedHub AI LLC · Secured by Stripe · redhub.ai