Skip to content

berd-call: replay VAD gates and compare offline profiles - #424

Closed
johnmatthewtennant wants to merge 2 commits into
zack/interruption-thresholdfrom
zack/vad-replay
Closed

johnmatthewtennant wants to merge 2 commits into
zack/interruption-thresholdfrom
zack/vad-replay

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add berd-call vad-replay INPUT.json [--candidates CANDIDATES.json] to compare continuous-recognition VAD settings offline using the production SpeechGate. JSONL reports distinguish human-checked labels, inferred labels, unknown capture intervals, onset misses and delays, fragmentation, and needless reply holding while a reply is waiting.

This is the replay foundation for call recording and tuning. It does not change live profiles or simulate audible playback. berd-call vad-replay events CAPTURE_DIR also reads capture manifests/events and separates request-wait overlaps with VAD and pending recognition. Per-frame capture trace conversion and native recognition-policy trials remain incomplete. No architectural laws change.

Related issue

Stacked on independent VAD profiles and timing.

Testing

  • Twelve unit/process tests cover threshold comparison, production gate behavior, mode/epoch changes, gaps, label provenance, reply-wait penalties, latency/fragmentation and the actual CLI.
  • Full Linux cargo test -p berd-call --no-fail-fast: the same three failures occur on unmodified base 681fea86 and this change (management usage, synthesis usage, unresolved handoff expiry). New replay tests pass.
  • Library Clippy passes with warnings denied. All-target Clippy reports existing cross-platform dead-code/lint failures.
  • just tauri-check is blocked by missing Linux gobject development metadata on the disposable workstation.
  • CLI process example compares a recorded 0.5 threshold with a 0.7 candidate on the same 0.6-confidence speech frame: reported missed speech changes from 0 to 16 ms, input stays byte-identical.

Zack added 2 commits October 22, 2026 09:10
Signed-off-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz>
Signed-off-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz>
@johnmatthewtennant

Copy link
Copy Markdown
Contributor Author

🤖 Consolidated into #426 with capture, device profiles and timing diagnostics. Continued implementation and review belong there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant