ac53af5c24
Sobald eine Streaming-Session ~1.5s Audio im Buffer hat, wird einmal pro Session der Speaker-ID-Check ausgefuehrt (im Executor, ~50-100ms auf GPU). Bei Match → Session laeuft normal weiter. Bei Mismatch → synthetisches stt_endpoint mit text='' reason='speaker_mismatch' + stt_stream_done → App ruft endConversation. Kein Whisper-Transcribe fuer fremde Stimmen → Token + Latenz gespart. - StreamSession: 3 neue Felder (speaker_checked, speaker_match, speaker_similarity). - SessionManager._check_speaker / _finalize_speaker_mismatch: Check + sauberes Beenden bei Mismatch. - _tick_session: Check-Gate vor STREAM_MIN_AUDIO_MS-Check eingehaengt. - speaker_id.verify: threshold=None statt =DEFAULT_THRESHOLD damit config-Broadcast-Updates zur Laufzeit greifen (Default-Arg wird sonst zur Def-Zeit gebunden). Fail-open: ohne Fingerprint returnt verify() (True, 0.0) — keine Auswirkung. Stefan kann ohne Enrollment weiter wie bisher arbeiten. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>