{"repo":"NousResearch/hermes-agent","public_id":"120118","display_label":"CLI voice gate missing deepinfra STT provider label","summary":"A bug where the CLI voice mode fails to activate when using deepinfra as the STT provider, because deepinfra is absent from the native STT labels list used to gate voice features. Multiple related fixes address deriving that list from a canonical source.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":133825,"merged_at":"2026-10-06T19:08:50+00:00"},"resolution":{"state":"resolved","by":"pr-133825"},"freshness":{"state":"verified","last_verified_at":"2026-10-06T19:08:50+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":79629,"pr_number":133825,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-10-06T19:08:50+00:00"},{"issue_number":120118,"pr_number":133825,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-06T19:08:50+00:00"}],"members":[{"kind":"issue","number":120118,"title":"[Bug]: CLI voice mode unusable with stt.provider=deepinfra — _NATIVE_STT_LABELS missing the built-in (Ctrl+B dead, /voice on silently refuses)","url":null,"state":"closed"},{"kind":"pr","number":120123,"title":"fix(voice): recognise deepinfra in the CLI voice gate so stt.provider=deepinfra can arm voice mode","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"8a7ed8a492","number":0},{"kind":"pr","value":"#133825","number":133825}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":124153,"title":"fix(voice): derive _NATIVE_STT_LABELS from BUILTIN_STT_PROVIDERS so deepinfra arms the CLI voice gate (#120118)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"0e427d788d2","number":0},{"kind":"pr","value":"#120118","number":120118},{"kind":"pr","value":"#120123","number":120123}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":133825,"title":"fix(stt): long recordings transcribe on every cloud provider; every model picker lists the real catalog (salvage #118788, #120123)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/remote-update-marker-programs.test.ts","apps/desktop/src/app/settings/constants.ts","apps/desktop/src/app/settings/helpers.test.ts","apps/desktop/src/lib/voice-client-direct.test.ts","apps/desktop/src/lib/voice-client-direct.ts","cli-config.yaml.example","hermes_cli/config_defaults.py","hermes_cli/tools_config.py","hermes_cli/tools_config_providers.py","hermes_cli/web_routers/chat_ws.py","hermes_cli/web_server_config.py","locales/_keys.desktop.json","tests/hermes_cli/test_stt_picker.py","tests/tools/test_stt_language_resolution.py","tests/tools/test_transcription_chunking.py","tests/tools/test_transcription_plugin_dispatch.py","tests/tools/test_transcription_tools.py","tests/tools/test_voice_client_config.py","tests/tools/test_voice_mode.py","tools/transcription_chunking.py","tools/transcription_cloud.py","tools/transcription_common.py","tools/transcription_local.py","tools/transcription_tools.py","tools/voice_client_config.py","tools/voice_mode.py","website/docs/user-guide/configuration.md","website/docs/user-guide/features/tts.md","website/docs/user-guide/features/voice-mode.md","website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/features/tts.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}