From be9060ff9620e170a05a6353ab293efb7c704248 Mon Sep 17 00:00:00 2001 From: "Adam Perry @ OpenAI" Date: Sat, 10 Oct 2026 16:43:40 +0000 Subject: [PATCH] Stabilize the realtime steering timeline test (#52923) The initial user item seals realtime transcript segments, so starting speech before it completes can split the segment under test. Wait for its `item/completed` notification and assert that it is a `ThreadItem::UserMessage` before triggering speech, so only the steering under test can split that segment. GitOrigin-RevId: 932443f4a0d6c4284cf95f44e64912506769a180 --- .../app-server/tests/suite/v2/realtime_conversation.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/codex-rs/app-server/tests/suite/v2/realtime_conversation.rs b/codex-rs/app-server/tests/suite/v2/realtime_conversation.rs index 08c9545968..e4f5029ce0 100644 --- a/codex-rs/app-server/tests/suite/v2/realtime_conversation.rs +++ b/codex-rs/app-server/tests/suite/v2/realtime_conversation.rs @@ -1273,6 +1273,16 @@ async fn realtime_timeline_splits_accepted_steering_and_persists_promoted_artifa .read_notification::("turn/started") .await?; + // The initial user item also seals realtime transcript segments. Wait for + // it before speaking so only the steering under test can split this segment. + let initial_message = harness + .read_notification::("item/completed") + .await?; + assert!(matches!( + initial_message.item, + ThreadItem::UserMessage { .. } + )); + harness .append_text(harness.thread_id.clone(), "Trigger speech") .await?;