From 8e649e3afa5cdddfb09a1b85a090b94775045d9b Mon Sep 17 00:00:00 2001 From: Dylan Hurd Date: Sat, 22 Aug 2026 21:59:51 +0000 Subject: [PATCH] Use thread source metadata for Guardian classifiers (#40150) ## What changed - Mark Guardian classifier requests with `thread_source: guardian_classifier` in turn metadata. - Remove the classifier-specific `request_kind` and `is_guardian_mode` fields. - Update sampler and extension tests to expect the new metadata shape. GitOrigin-RevId: 1654389ea538b7bd879045634816cbace4bd8f5c --- codex-rs/ext/guardian-v2/src/async_scorer/extension_tests.rs | 3 +-- codex-rs/ext/guardian-v2/src/async_scorer/sampler.rs | 3 +-- codex-rs/ext/guardian-v2/src/async_scorer/sampler_tests.rs | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/codex-rs/ext/guardian-v2/src/async_scorer/extension_tests.rs b/codex-rs/ext/guardian-v2/src/async_scorer/extension_tests.rs index 853c505e5e..38d2916fb5 100644 --- a/codex-rs/ext/guardian-v2/src/async_scorer/extension_tests.rs +++ b/codex-rs/ext/guardian-v2/src/async_scorer/extension_tests.rs @@ -1478,8 +1478,7 @@ async fn contributor_samples_tool_calls_with_the_existing_luna_pool() -> Result< "thread_id": classifier_thread_id, "guardian_classifier_source_thread_id": thread_id.to_string(), "turn_id": "turn-1", - "request_kind": "guardian_classifier", - "is_guardian_mode": true, + "thread_source": "guardian_classifier", }) ); assert_eq!(request["client_metadata"]["x-openai-subagent"], "guardian"); diff --git a/codex-rs/ext/guardian-v2/src/async_scorer/sampler.rs b/codex-rs/ext/guardian-v2/src/async_scorer/sampler.rs index 5f962455ae..ace30456f2 100644 --- a/codex-rs/ext/guardian-v2/src/async_scorer/sampler.rs +++ b/codex-rs/ext/guardian-v2/src/async_scorer/sampler.rs @@ -549,8 +549,7 @@ impl LunaSampler { "thread_id": thread_id, "guardian_classifier_source_thread_id": self.config.thread_id, "turn_id": turn_id, - "request_kind": "guardian_classifier", - "is_guardian_mode": true, + "thread_source": "guardian_classifier", }) .to_string(); request.client_metadata = Some(HashMap::from([ diff --git a/codex-rs/ext/guardian-v2/src/async_scorer/sampler_tests.rs b/codex-rs/ext/guardian-v2/src/async_scorer/sampler_tests.rs index 15f8d0e2e2..986e74ffed 100644 --- a/codex-rs/ext/guardian-v2/src/async_scorer/sampler_tests.rs +++ b/codex-rs/ext/guardian-v2/src/async_scorer/sampler_tests.rs @@ -80,8 +80,7 @@ fn assert_connection_metadata(server: &responses::WebSocketTestServer) -> Result "thread_id": thread_id, "guardian_classifier_source_thread_id": "thread-1", "turn_id": turn_id, - "request_kind": "guardian_classifier", - "is_guardian_mode": true, + "thread_source": "guardian_classifier", }, }) );