[P1] ZARA-014 — Bound wake audio lifecycle #50

Merged
lost-rob0t merged 1 commit from fix/zara-014-wake-lifecycle into master 2026-07-19 05:34:56 +00:00
lost-rob0t commented 2026-07-19 05:32:23 +00:00 (Migrated from github.com)

Closes #15

Summary

  • replace the unbounded callback-to-async handoff with a fixed-size drop-oldest buffer and coalesced wakeups
  • enforce first-speech, end-silence, max-utterance, and conversation-inactivity deadlines while collectors wait
  • discard stale frames across state transitions and unblock all collection states on shutdown
  • add deterministic synthetic lifecycle coverage and document the new wake settings

Validation

  • nix develop -c bash -c 'pytest && for test_script in scripts/test-*.sh; do bash "$test_script"; done'
  • nix build

Both pass locally.

Closes #15 ## Summary - replace the unbounded callback-to-async handoff with a fixed-size drop-oldest buffer and coalesced wakeups - enforce first-speech, end-silence, max-utterance, and conversation-inactivity deadlines while collectors wait - discard stale frames across state transitions and unblock all collection states on shutdown - add deterministic synthetic lifecycle coverage and document the new wake settings ## Validation - `nix develop -c bash -c 'pytest && for test_script in scripts/test-*.sh; do bash "$test_script"; done'` - `nix build` Both pass locally.
Sign in to join this conversation.
No description provided.