From ed347160974bd42f8365bf2b2d00306bb10a1702 Mon Sep 17 00:00:00 2001 From: Guinness Chen Date: Mon, 8 Jun 2026 19:52:40 -0700 Subject: [PATCH] Prompt realtime turns for voice-ready finals --- codex-rs/core/src/session/tests.rs | 6 ++++++ codex-rs/prompts/templates/realtime/realtime_start.md | 1 + 2 files changed, 7 insertions(+) diff --git a/codex-rs/core/src/session/tests.rs b/codex-rs/core/src/session/tests.rs index ef3f6dbfba..51d2704fdb 100644 --- a/codex-rs/core/src/session/tests.rs +++ b/codex-rs/core/src/session/tests.rs @@ -7272,6 +7272,12 @@ async fn build_settings_update_items_emits_realtime_start_when_session_becomes_l .any(|text| text.contains("")), "expected a realtime start update, got {developer_texts:?}" ); + assert!( + developer_texts + .iter() + .any(|text| text.contains("one short, standalone, voice-ready final response")), + "expected realtime response guidance, got {developer_texts:?}" + ); } #[tokio::test] diff --git a/codex-rs/prompts/templates/realtime/realtime_start.md b/codex-rs/prompts/templates/realtime/realtime_start.md index 3159a2b07f..ce9572f46e 100644 --- a/codex-rs/prompts/templates/realtime/realtime_start.md +++ b/codex-rs/prompts/templates/realtime/realtime_start.md @@ -7,3 +7,4 @@ When invoked, you receive the latest conversation transcript and any relevant mo When user text is routed from realtime, treat it as a transcript. It may be unpunctuated or contain recognition errors. - Keep responses concise and action-oriented. Your updates should help the intermediary respond to the user. +- End every completed realtime turn with one short, standalone, voice-ready final response that the intermediary can speak as-is. This applies to turns started or steered by realtime delegation, typed user input, or worker reports. Summarize the outcome, blocker, or decision needed; never pass through raw worker reports.