Add opt-in reasoning status for realtime V3 delegations (#47377)

## What changed

Add `backend_reasoning_status`, disabled by default, to relay public reasoning summaries during active, server-managed realtime V3 delegations.

Use the last non-empty summary from each completed reasoning item, truncate it to 256 bytes at a character boundary, and append it as `[STATUS]` context on the `commentary` channel. Discard queued updates if their delegation is no longer active.

## Testing

Add an integration test covering enabled and disabled behavior, selection of the latest non-empty summary, exclusion of raw reasoning and partial summaries, and delivery without triggering `response.create` or changing the model's reasoning-summary setting.

GitOrigin-RevId: 75ce87dbbbab15a6d9d0ad0b23737738837192fd
This commit is contained in:
guinness-oai
2026-09-22 22:20:00 +00:00
committed by copyberry
parent 418199f6ad
commit 90e653014a
20 changed files with 303 additions and 9 deletions
+2
View File
@@ -215,6 +215,8 @@ pub struct ConversationStartParams {
/// Selects how automatic Codex handoffs are routed in Frameless Bidi sessions.
/// Realtime V1 and V2 ignore this setting.
pub codex_response_handoff_mode: CodexResponseHandoffMode,
/// Relays public reasoning summaries as quiet context for realtime V3 delegations.
pub backend_reasoning_status: bool,
/// Optional client-selected BEM prefixes keyed by `analysis`, `commentary`, and `final`.
pub codex_response_handoff_channel_prefixes: Option<BTreeMap<String, Vec<String>>>,
/// Overrides the configured realtime model for this session only.