[codex] Skip active audio device restart checks#3963
Conversation
Diarization eval resultsSource:
DER, VAD FA, VAD FN, boundary err: lower is better. Continuity: higher is better, 1.0 = same hyp cluster across all silence gaps. Composed workday rows and Pipeline replay matrixSource: generated
The no-secret CI matrix runs local diarization under Parakeet/Whisper engine labels across live/background and mic/system device profiles. Real Deepgram/screenpipe-cloud smoke can be run locally with Transcription qualitySource: LibriSpeech test-clean (CC-BY-4.0) · per-model utterance cap · normalized lowercased word-level Levenshtein
WER + CER on read-aloud speech. Per-model utterance caps keep wall time bounded — tiny/parakeet at 50, the heavier large-v3-turbo-quantized at 20. See README for normalization rules. |
Summary
start_devicecall when the parsed device already has a live, non-disconnected streamWhy
The monitor sweep runs continuously while audio is active. Calling
start_deviceon already-active devices every pass adds avoidable async/lock work in the idle path even though recovery is only needed when the stream is not active.Validation
cargo fmt --package screenpipe-audio -- --checkcargo test -p screenpipe-audio device_monitor --libcargo check -p screenpipe-audio(passes; pre-existing unusedmutwarning incore/stream.rs)