You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The advertised provider matrix vastly exceeds what's implemented, and three independent copies disagree:
STT_PROVIDER is read (server.py:150) and never used to select an engine. The live call path is hardwired to Deepgram (server.py:766-776); voicemail transcription is local-voice-then-Deepgram (server.py:712-719). Selecting assemblyai/google/azure/groq/vosk/etc. does nothing.
TTS implements exactly three paths: local voice engine, MiMo, and an OpenAI fallback (server.py:486-537). Picking ElevenLabs, Cartesia, Azure, Google, Edge, Piper, Coqui, Bark… in settings yields silent calls with no error surfaced.
The three lists disagree: server.py:936-978 offers 14 STT / 20 TTS options (including vosk, wav2vec2, canary, tortoise, styletts2 — implemented nowhere); provider_registry.py has an overlapping-but-mismatched set (UI id whisper vs registry whisper-api; UI TTS id openai collides with the registry's agent entry openai, so the dashboard install button installs the wrong thing); README.md:94-122 advertises "9 STT providers, 10+ TTS providers" as shipped (README.md:415).
This is the repo's biggest credibility and maintenance liability — every tester who picks a listed provider and gets a silent call is lost.
Fix direction:
Merge STT_PROVIDERS/TTS_PROVIDERS into provider_registry.py as the single source of truth, with a status: implemented | planned field; settings UI renders from it and greys out planned.
Extend the tests/test_all_settings_editable.py invariant pattern: UI ids ⊆ registry ids.
The advertised provider matrix vastly exceeds what's implemented, and three independent copies disagree:
STT_PROVIDERis read (server.py:150) and never used to select an engine. The live call path is hardwired to Deepgram (server.py:766-776); voicemail transcription is local-voice-then-Deepgram (server.py:712-719). Selecting assemblyai/google/azure/groq/vosk/etc. does nothing.server.py:486-537). Picking ElevenLabs, Cartesia, Azure, Google, Edge, Piper, Coqui, Bark… in settings yields silent calls with no error surfaced.server.py:936-978offers 14 STT / 20 TTS options (including vosk, wav2vec2, canary, tortoise, styletts2 — implemented nowhere);provider_registry.pyhas an overlapping-but-mismatched set (UI idwhispervs registrywhisper-api; UI TTS idopenaicollides with the registry's agent entryopenai, so the dashboard install button installs the wrong thing);README.md:94-122advertises "9 STT providers, 10+ TTS providers" as shipped (README.md:415).This is the repo's biggest credibility and maintenance liability — every tester who picks a listed provider and gets a silent call is lost.
Fix direction:
STT_PROVIDERS/TTS_PROVIDERSintoprovider_registry.pyas the single source of truth, with astatus: implemented | plannedfield; settings UI renders from it and greys outplanned.tests/test_all_settings_editable.pyinvariant pattern: UI ids ⊆ registry ids.voice/provider layer mirroring the cleanagents/ABC+factory pattern so the matrix can become real incrementally (Feature: pluggable premium TTS (ElevenLabs, etc.) with quality selection #49 is the feature side of this).Related: #32 (Polly voice list duplication is a subset of this), #49.
Full context: AUDIT.md (A1, Theme 1).