Skip to main content

Voice engine conformance suite

Spec version 0.2.0 (draft)

Generated from the HyperStudy source. Machine-readable: agent-spec.json.

Before HyperStudy starts a voice agent on an engine, that engine and model must have a stored, passing report from the conformance suite at the current suite version. The suite drives the engine with recorded speech and checks the behaviour the platform depends on.

The suite is run by HyperStudy against an engine; it is not yet packaged for engine authors to run themselves. The checks and thresholds below are what it holds an engine to.

Current suite version: 6.

Checks​

Checks marked "each mode" run once for every turn-detection mode a study can choose.

CheckRunsVerifies
handshakeonceThe engine acknowledges the session update with PCM16 at 24 kHz in both directions.
engine_turneach modeWith engine turn detection, speech fires speech_started at its onset, the turn is committed, and the engine gives a complete spoken answer with a transcript and usage.
barge_ineach modeSpeech while the engine is talking fires speech_started, the engine cancels its own response on that edge, and no audio follows. A truncate at the position the platform reports is then acknowledged and graded.
listening_pauseeach modeSwitching turn detection off mid-speech and committing keeps what was said as that same turn, with no reply. With turn detection back on, the next speech starts a new turn, timed from the moment turn detection was switched back on.
listening_pause_silenteach modeSwitching turn detection off while no one is speaking and back on again: the next speech is timed from the moment turn detection was switched back on.
cancelonceresponse.cancel ends the response promptly, and no audio for it arrives afterwards.
function_callonceThe engine calls a declared tool, accepts the function output, and finishes a follow-up response.
silent_toolonceA response requested with text output only and a forced tool calls exactly that tool once and produces no audio.
image_contextonceAn image attached to a context item as an input_image data URL is accepted and seen: asked silently which colour fills it, the engine answers red.
turn_detection_fieldseach modeEvery requested turn-detection setting comes back unchanged in session.updated.

Turn-detection modes​

  • {"type":"server_vad","silence_duration_ms":500}
  • {"type":"semantic_vad","eagerness":"auto"}

Thresholds​

ThresholdValue
maxOnsetDelayMs1000 ms
maxResponseStartMs5000 ms
maxCancelToDoneMs1500 ms
eventTimeoutMs15000 ms
noReplyWindowMs1500 ms
truncateAckTimeoutMs3000 ms