Skip to content

realtime: add AVAS architecture override - #27720

Merged
bakks merged 8 commits into
mainfrom
dev/pbakkum/codex-realtime-avas
Jun 12, 2026
Merged

realtime: add AVAS architecture override#27720
bakks merged 8 commits into
mainfrom
dev/pbakkum/codex-realtime-avas

Conversation

@bakks

@bakks bakks commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

Adds a RealtimeConversationArchitecture option for realtime conversation startup, with realtimeapi as the default and avas as an opt-in architecture.

The AVAS path is limited to realtime v1 conversational WebRTC starts, and WebRTC call creation appends intent=quicksilver&architecture=avas to /v1/realtime/calls. The existing sideband websocket still joins by call_id.

This also exposes the per-session architecture override through app-server v2 thread/realtime/start params and updates the config schema for [realtime].architecture.

Validation

  • just fmt
  • just write-config-schema
  • just test -p codex-api sends_avas_session_call_query_params
  • just test -p codex-core -E 'test(~conversation_webrtc_start_uses_avas_architecture_query)'
  • just test -p codex-core -E 'test(realtime_loads_from_config_toml)'
  • just test -p codex-app-server-protocol -E 'test(~serialize_thread_realtime_start) | test(generated_ts_optional_nullable_fields_only_in_params)'
  • just test -p codex-app-server -E 'test(realtime_webrtc_start_emits_sdp_notification)'

bakks commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

Reviewer context after smoke testing:

  • Prod AVAS smoke succeeded against prod transceiver using session rtc_u7_DpoFrztZS62whWbwp64OV.
  • Transceiver logs showed POST /v1/realtime/calls?intent=quicksilver&architecture=avas returning 201, output=realtimeapi-avas, client_model=bidi-garlic-latest-api-ev3, Connected to voice app server, and Received AV App init response.
  • Sideband joined the same call with GET /v1/realtime?intent=quicksilver&call_id=rtc_u7_DpoFrztZS62whWbwp64OV returning 200.
  • Follow-up cleanup removed the temporary experimental_realtime_webrtc_call_path override; WebRTC call creation now always uses the normal realtime/calls path, so future local transceiver smoke should expose that path rather than relying on a client path override.

@bakks
bakks marked this pull request as ready for review June 12, 2026 05:59
@bakks
bakks requested a review from a team as a code owner June 12, 2026 05:59

@guinness-oai guinness-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@aibrahim-oai aibrahim-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add a todo to remove the branching?

@bakks
bakks enabled auto-merge (squash) June 12, 2026 17:40
@bakks
bakks merged commit 6652e82 into main Jun 12, 2026
60 of 63 checks passed
@bakks
bakks deleted the dev/pbakkum/codex-realtime-avas branch June 12, 2026 18:11
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants