Run the head-to-head on your own calls.
A per-dimension scorecard, the evidence behind it, and the command that regenerates it.
conversation-test.yamlscored per dimension
Outcometool / state evidence
deterministic
pass
Policyworkflow & rules
deterministic
pass
Conversationturn-taking timing
deterministic
fail
Speechtranscript · latency
deterministic
pass
Reliabilitypass^k across reps
deterministic
inconclusive
The advisory judge is a separate lane. It never gates unless you opt in.
Point it at your own recording.
No account, no vendor number. A captured call and a simulated scenario score the same way.
$ hotato test run conversation-test.yaml --agent <id> # or cover every scenario you must handle $ hotato simulate scenario.yaml --out runs/
Three questions, one call.
Hotato owns the offline questions: the whole-call scorecard before a release, the regression check after a fix. The live, mid-call decision belongs to your runtime voice layer.
| The question | The tool for it | When |
|---|---|---|
| Did the whole call succeed? Outcome, policy, conversation, speech, and reliability, each scored on its own evidence. | Hotato, the conversation-QA suite | before it ships |
| Should the agent yield right now? The live turn-taking decision, mid-call. | Your runtime voice layer | during the call |
| Did the confirmed timing bug come back? Re-scored from the same audio, deterministically. | Hotato, the same suite, gated in CI | after a confirmed bug |
Turn-taking timing is the conversation dimension's deterministic proof-point, gated in CI so a fixed bug stays fixed. See the timing page →
See where it agrees with you.
One recording, a per-dimension scorecard, and the command to regenerate every result.
$ uvx hotato start --demo
Bundled recordings, no account. Get started → · self-host →