Update guardian output schema (#17061)

## Summary
- Update guardian output schema to separate risk, authorization,
outcome, and rationale.
- Feed guardian rationale into rejection messages.
- Split the guardian policy into template and tenant-config sections.

## Validation
- `cargo test -p codex-core mcp_tool_call`
- `env -u CODEX_SANDBOX_NETWORK_DISABLED INSTA_UPDATE=always cargo test
-p codex-core guardian::`

---------

Co-authored-by: Owen Lin <owen@openai.com>
This commit is contained in:
maja-openai
2026-04-08 15:47:29 -07:00
committed by GitHub
co-authored by Owen Lin
parent 49677ec71f
commit dcbc91fd39
45 changed files with 673 additions and 312 deletions
+19 -1
View File
@@ -6736,7 +6736,6 @@ impl ChatWidget {
GuardianAssessmentStatus::Aborted
}
},
risk_score: review.risk_score,
risk_level: review.risk_level.map(|risk_level| match risk_level {
codex_app_server_protocol::GuardianRiskLevel::Low => {
codex_protocol::protocol::GuardianRiskLevel::Low
@@ -6747,6 +6746,25 @@ impl ChatWidget {
codex_app_server_protocol::GuardianRiskLevel::High => {
codex_protocol::protocol::GuardianRiskLevel::High
}
codex_app_server_protocol::GuardianRiskLevel::Critical => {
codex_protocol::protocol::GuardianRiskLevel::Critical
}
}),
user_authorization: review.user_authorization.map(|user_authorization| {
match user_authorization {
codex_app_server_protocol::GuardianUserAuthorization::Unknown => {
codex_protocol::protocol::GuardianUserAuthorization::Unknown
}
codex_app_server_protocol::GuardianUserAuthorization::Low => {
codex_protocol::protocol::GuardianUserAuthorization::Low
}
codex_app_server_protocol::GuardianUserAuthorization::Medium => {
codex_protocol::protocol::GuardianUserAuthorization::Medium
}
codex_app_server_protocol::GuardianUserAuthorization::High => {
codex_protocol::protocol::GuardianUserAuthorization::High
}
}
}),
rationale: review.rationale,
action: action.into(),