Skip to content

Voice Call xAI streaming transcription provider is dropped after OpenAI-only runtime activation #97738

Description

@solavrc

Summary

A Gateway configured for Voice Call streaming transcription with xAI can report transcription.activeProvider: "xai" while only listing OpenAI as an available transcription provider after another path has activated an OpenAI-only runtime registry. A subsequent talk.session.create for transcription can then fail with Realtime transcription provider "xai" is not configured even though xAI auth/config is valid.

Reproduction Shape

  1. Configure Voice Call streaming transcription with xAI, for example plugins.entries["voice-call"].config.streaming.provider = "xai".
  2. Start the Gateway and allow xAI realtime transcription provider discovery.
  3. Trigger another path that activates an OpenAI-only runtime registry.
  4. Call talk.catalog.
  5. Call talk.session.create for transcription.

Actual Behavior

talk.catalog can advertise xAI as the active transcription provider while transcription.providers contains only OpenAI. Session creation then fails because provider resolution no longer carries the Talk/Voice Call requested provider set into realtime transcription provider lookup.

Expected Behavior

Talk transcription config/session resolution should carry configured Voice Call streaming provider IDs through provider resolution, so a configured xAI provider remains resolvable even when the active runtime registry was narrowed by an OpenAI-only path. Catalog provider listing should remain an unscoped candidate list.

Root Cause

Talk/Voice Call streaming provider IDs were not consistently threaded into realtime transcription provider resolution. The config path and session path could re-list providers without the Talk-requested provider set, allowing an already-active OpenAI-only registry to hide the configured xAI transcription provider.

Fix

Related PR: #97170.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions