Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Provider-agnostic end-to-end latency harness for a conversational voice path:
Deepgram Flux turn detection, Cerebras gemma-4-31b streaming text generation,
and Cartesia Sonic 3.5 streaming speech synthesis.
The harness does not create an elizaOS runtime and does not call production
routes or UI. It measures the client-observable path directly through provider
adapters and emits a PR #15931-compatible trace shape: X-Eliza-Voice-Trace-Id
per turn plus Server-Timing components in the JSON artifact.
Measured Checkpoints
acoustic/input end
STT eager end and final turn
chat admission
Cerebras preforward
first text token
first speakable phrase
Cartesia request
first audio frame
client playout simulation
interruption and playout silence for the barge-in case
Run
# Deterministic no-key mode. Enforces gates.
bun run --cwd packages/benchmarks/voice-rtt bench:mock
# Write artifacts.
bun run --cwd packages/benchmarks/voice-rtt bench:mock -- --out=./results
# Opt-in live mode. Requires provider keys and corpus PCM files.DEEPGRAM_API_KEY=... CEREBRAS_API_KEY=... CARTESIA_API_KEY=... \
bun run --cwd packages/benchmarks/voice-rtt bench:live -- --audio-dir=./audio
Live mode expects short.pcm, long.pcm, pause.pcm, and barge-in.pcm in
the supplied audio directory, encoded as 16 kHz signed 16-bit little-endian PCM.
The fixture corpus is fixed in fixtures/corpus.json; committed text is used
for deterministic mock timing and for expected reply lengths, not logged by
default.
Gates
Mock mode enforces:
EOS to first audio P50 < 1000ms
EOS to first audio P95 < 1500ms
interruption to silence < 300ms
zero audio frames accepted after interrupt silence
Live mode reports those gates as advisory unless --enforce-live-gates is
supplied.
Privacy
Artifacts redact transcripts and model replies by default. They include only
trace IDs, provider request IDs, lengths, timings, stage attribution, and gate
results. Use --unsafe-transcripts only for a local diagnostic run where the
artifact will not be shared.
Provider Contracts
Adapters implement SttAdapter, LlmAdapter, and TtsAdapter from
src/types.ts. Future OpenRouter or alternate provider adapters should return
the same timestamped contracts rather than changing scoring/reporting code.
The live adapter follows the documented provider APIs: