RAGE #132: live voice over ZARA/1 #185

Merged
lost-rob0t merged 74 commits from rage/132-live-voice into master 2026-08-23 16:09:28 +00:00
lost-rob0t commented 2026-08-23 00:11:35 +00:00 (Migrated from github.com)

Consumes #132 under daemon epic #127.

Immutable RAGE start: 1a076e9921228d9d0eb18ea63225a1862f81023d.

RAGE status:

  • research and evidence-derived design complete;
  • strict PCM s16le mono 16 kHz / 512-sample framing and closed protocol validation complete;
  • route-scoped input stream lifecycle, contiguous sequence enforcement, cancellation, disconnect/re-hello cleanup, retryable ingress failure containment and bounded backpressure complete;
  • runtime-facing injected voice ingress preserves server-owned principal plus conversation/stream/trace/sequence correlation without creating a daemon-only STT/TTS/model stack;
  • ZmqZaraClient owns binary microphone framing and client playback delivery through the shared ZaraClient-facing boundary;
  • output start/chunk/done framing, client-owned playback, cross-process barge-in/canonical turn cancellation, and stale output suppression are covered by deterministic tests;
  • exact prior head d7b948a9ffb69529023708eea0f786c716b48f9b passed CI #431 completely;
  • final acceptance-gap repair adds scripts/test-zara1-voice.sh and composes it into the existing ZARA/1 full regression phase so the issue-specific non-interactive gate is itself exercised by repository CI.

Selected invariants:

  • client owns microphone capture and speaker playback;
  • daemon reuses existing StreamingVAD/STT/RuntimeHost/TurnCoordinator semantics;
  • audio is opaque multipart binary, never base64 JSON;
  • stream state is route/principal scoped and non-resumable across daemon restart;
  • barge-in stops local playback first, then uses canonical turn cancellation; stale cancelled-turn output is dropped;
  • ingress/output queues and protocol geometry remain bounded; raw PCM is absent from ordinary errors/logs.

Current exact head: 16f4900ba4f10580dd4b5a9d7e36f1b8c150c12e, under CI #433. Do not merge until this exact head passes the complete repository/Nix/package/shared-mic gate and remains mergeable.

Closes #132 only after the exact-head gate is green.

Consumes #132 under daemon epic #127. Immutable RAGE start: `1a076e9921228d9d0eb18ea63225a1862f81023d`. RAGE status: - research and evidence-derived design complete; - strict PCM s16le mono 16 kHz / 512-sample framing and closed protocol validation complete; - route-scoped input stream lifecycle, contiguous sequence enforcement, cancellation, disconnect/re-hello cleanup, retryable ingress failure containment and bounded backpressure complete; - runtime-facing injected voice ingress preserves server-owned principal plus conversation/stream/trace/sequence correlation without creating a daemon-only STT/TTS/model stack; - `ZmqZaraClient` owns binary microphone framing and client playback delivery through the shared ZaraClient-facing boundary; - output start/chunk/done framing, client-owned playback, cross-process barge-in/canonical turn cancellation, and stale output suppression are covered by deterministic tests; - exact prior head `d7b948a9ffb69529023708eea0f786c716b48f9b` passed CI #431 completely; - final acceptance-gap repair adds `scripts/test-zara1-voice.sh` and composes it into the existing ZARA/1 full regression phase so the issue-specific non-interactive gate is itself exercised by repository CI. Selected invariants: - client owns microphone capture and speaker playback; - daemon reuses existing StreamingVAD/STT/RuntimeHost/TurnCoordinator semantics; - audio is opaque multipart binary, never base64 JSON; - stream state is route/principal scoped and non-resumable across daemon restart; - barge-in stops local playback first, then uses canonical turn cancellation; stale cancelled-turn output is dropped; - ingress/output queues and protocol geometry remain bounded; raw PCM is absent from ordinary errors/logs. Current exact head: `16f4900ba4f10580dd4b5a9d7e36f1b8c150c12e`, under CI #433. Do not merge until this exact head passes the complete repository/Nix/package/shared-mic gate and remains mergeable. Closes #132 only after the exact-head gate is green.
Sign in to join this conversation.
No description provided.