From 4eb4a65407d98cebc4c83bf13be440b9fbc78a7c Mon Sep 17 00:00:00 2001 From: felixxia-oai Date: Fri, 16 Oct 2026 12:27:57 +0000 Subject: [PATCH] Capture sender context for `codex_app.create_thread` deliveries (#54590) ## What changed Recognize `codex_app.create_thread` deliveries when capturing sender context so Guardian receives the sender's recent user messages and assistant context for delegated tasks. ## Testing Extend the sender-context integration test to cover `create_thread`, including reviewer-only context and clearing the snapshot on a subsequent delivery without sender provenance. GitOrigin-RevId: 7a47c3ac5b9c9405e6728010c494529274b7b73d --- codex-rs/core/src/agent/control/sender_context.rs | 1 + codex-rs/core/tests/suite/guardian_sender_messages_tests.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/codex-rs/core/src/agent/control/sender_context.rs b/codex-rs/core/src/agent/control/sender_context.rs index 184a5add14..b056b43bc7 100644 --- a/codex-rs/core/src/agent/control/sender_context.rs +++ b/codex-rs/core/src/agent/control/sender_context.rs @@ -38,6 +38,7 @@ impl LocalAgentRuntime { if !matches!( (namespace.as_str(), name.as_str()), ("codex_app" | "codex_tui", "send_message_to_thread") + | ("codex_app", "create_thread") | ("cloud_threads", "send_message") ) { return None; diff --git a/codex-rs/core/tests/suite/guardian_sender_messages_tests.rs b/codex-rs/core/tests/suite/guardian_sender_messages_tests.rs index d49508fe09..ffef743326 100644 --- a/codex-rs/core/tests/suite/guardian_sender_messages_tests.rs +++ b/codex-rs/core/tests/suite/guardian_sender_messages_tests.rs @@ -16,6 +16,7 @@ use pretty_assertions::assert_eq; use serde_json::json; #[test_case::test_case(None, "codex_app", "send_message_to_thread", 0; "default")] +#[test_case::test_case(None, "codex_app", "create_thread", 0; "desktop create thread")] #[test_case::test_case(Some(false), "codex_app", "send_message_to_thread", 0; "retired opt out")] #[test_case::test_case(None, "codex_tui", "send_message_to_thread", 0; "tui")] #[test_case::test_case(None, "cloud_threads", "send_message", 0; "cloud threads")]