Input health, before any verdict

Hotato tells you when not to trust a score.

A bad export must never become a confident-looking but hollow verdict. Before Hotato scores a recording, hotato trust inspects the audio and decides whether a score would mean anything. This is the exact contract: input condition on the left, Hotato's behavior on the right.

The trust matrix

Every input condition maps to a defined behavior.

Warnings do not make a recording unscorable; three hard defects do. The exit code is the machine contract: 0 safe to scan, 2 not scorable, with the reason and the next step.

Input conditionBehaviorExitDownstream
Clean dual-channel (stereo)safe to scan0Full score. scan, run, compare, verify all run normally.
Silent caller channelnot scorable2Refused. No caller to measure a yield against.
Silent agent channelnot scorable2Refused. No agent floor to interrupt.
Swapped channelswarn + confirm0Scores, but confirm the mapping first. A swap silently inverts every yield and hold.
Crosstalk / echo bleedwarn, lower confidence0Scores. scan tags the moment echo_correlated_activity; a yield there may be the agent hearing itself.
Mono (single channel)refuse2Refused by default. Export dual-channel, or take one of the two opt-in escapes.
Mono, opt-in --allow-monoindicative only0Degraded mode on capture / pull / sweep for a mono-only stack. Talk-over cannot be attributed, so no SLA gate fires. Never equivalent to dual-channel.
Mono, opt-in --diarizeindicative only0/2The separation front-end. Tier high / low / refuse; at low the verdict is stamped indicative_only. Never equivalent to dual-channel.
Backchannel overlapcandidate only0scan lists it; you label yield or hold. Hotato never decides the intent behind a caller sound.
Noisy / false-positive candidatecandidate + warn0Surfaced with the warning. A candidate you inspect and label, not a bug Hotato asserts.

score

Clean stereo. Full confidence, no caveat.

caveat

Swap, crosstalk, echo-driven candidates. Proceed, each with a specific warning you must act on.

refuse

Silent caller, silent agent, mono. Not scorable. Hotato names the reason and exits 2.

The trust gallery

Eight recordings, eight verdicts.

Every terminal block below is verbatim output from hotato 0.5.0, offline. The clean case is a bundled example; the defect cases are that same recording with a channel silenced, reversed, or downmixed, so you can reproduce every verdict.