mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Keep Guardian v2 risk scores in memory (#39304)
## What changed - Stop writing Guardian v2 security risk scores to rollout history. - Treat resumed and forked threads as having no previous Guardian score, so their first tool approval is classified and reviewed normally. - Remove the now-unused `codex-history` dependency from the Guardian v2 extension. ## Testing - Update app-server coverage for new, resumed, and forked threads to wait for classification completion and verify the expected approval reviews. GitOrigin-RevId: 74d9caa903a1ff9d38e577b4697b5f8970f11ebb
This commit is contained in:
1 parent
b473c4e6ab
commit
e51a91b2f4
7 files changed
+38
-100
No files matched your search
@@ -17,7 +17,6 @@ codex-api = { workspace = true }
|
||||
codex-core = { workspace = true }
|
||||
codex-extension-api = { workspace = true }
|
||||
codex-features = { workspace = true }
|
||||
codex-history = { workspace = true }
|
||||
codex-http-client = { workspace = true }
|
||||
codex-login = { workspace = true }
|
||||
codex-model-provider = { workspace = true }
|
||||
|
||||
@@ -27,7 +27,6 @@ use codex_extension_api::ToolName;
|
||||
use codex_extension_api::ToolPayload;
|
||||
use codex_extension_api::ToolStartInput;
|
||||
use codex_features::Feature;
|
||||
use codex_history::RolloutItem;
|
||||
use codex_login::AgentIdentityAuthPolicy;
|
||||
use codex_login::AuthManager;
|
||||
use codex_model_provider::create_model_provider;
|
||||
@@ -614,12 +613,6 @@ impl ToolLifecycleContributor for GuardianV2Extension {
|
||||
.latest_scored_tool_call
|
||||
.fetch_max(tool_call_index, Ordering::Release);
|
||||
classification_finished_at = Some(Instant::now());
|
||||
if !config.ephemeral {
|
||||
thread
|
||||
.append_rollout_items(&[RolloutItem::SecurityRiskScore(score)])
|
||||
.await
|
||||
.map_err(|error| error.to_string())?;
|
||||
}
|
||||
Ok("success")
|
||||
}
|
||||
.await;
|
||||
|
||||
@@ -18,7 +18,6 @@ use codex_extension_api::ToolName;
|
||||
use codex_extension_api::ToolPayload;
|
||||
use codex_extension_api::ToolStartInput;
|
||||
use codex_features::Feature;
|
||||
use codex_history::RolloutItem;
|
||||
use codex_login::AuthManager;
|
||||
use codex_login::CodexAuth;
|
||||
use codex_login::ExternalAuth;
|
||||
@@ -1201,21 +1200,6 @@ async fn contributor_samples_tool_calls_with_the_existing_luna_pool() -> Result<
|
||||
.await,
|
||||
None
|
||||
);
|
||||
test.codex.ensure_rollout_materialized().await;
|
||||
test.codex.flush_rollout().await?;
|
||||
let persisted_scores = test
|
||||
.codex
|
||||
.load_history(/*include_archived*/ false)
|
||||
.await?
|
||||
.items
|
||||
.into_iter()
|
||||
.filter_map(|item| match item {
|
||||
RolloutItem::SecurityRiskScore(score) => Some(score),
|
||||
_ => None,
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
assert_eq!(persisted_scores, vec![score.as_ref().clone()]);
|
||||
|
||||
thread_store.insert(SecurityRiskScore {
|
||||
scores: BTreeMap::from([("action_risk".to_string(), 0.5)]),
|
||||
sampled_at: None,
|
||||
|
||||
Reference in new issue
Block a user