Skip to content

VoicePresence.OpenAI: migrate session.update to GA shape (blocks ADR-0026 Stage 5) #809

@eanzhao

Description

@eanzhao

Background

Tracked in the operational memory reference_openai_realtime_beta_ga_shape_mismatch:

OpenAI Realtime GA token (ek_*) connects fine, gets session.created, then WS close 4000 beta_api_shape_disabled once beta-shape session.update lands. OpenAI .NET SDK 2.9.1 RealtimeConversationSessionOptions is beta-shape; aevatar VoicePresence.OpenAI needs GA migration before ek_ flow works end-to-end.

This blocks the voice convergence stage of #808 (ADR-0026 Stage 5). Stages 1–4 of #808 do not depend on this issue.

Scope

Migrate Aevatar.Foundation.VoicePresence.OpenAI from the beta-shape session.update payload to the GA shape that ek_ ephemeral tokens require. Confirm:

  • ek_* ephemeral token mint via NyxID (reference_openai_realtime_ephemeral_via_nyxid) → WS open
  • session.update GA payload accepted (no beta_api_shape_disabled 4000 close)
  • audio in/out works against wss://api.openai.com/v1/realtime
  • session-level tools declaration via GA shape works (this is what ADR-0026 Stage 5 will exercise)

Out of scope

Why it isn't folded into #808

External-dependency surface change with its own validation matrix (audio quality, latency, codec). Keeping it independent avoids coupling its release cycle to the routing refactor.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureblocker关键路径阻塞 / Critical path blockerenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions