mirror of
https://github.com/openai/codex.git
synced 2026-11-14 21:40:39 +00:00
Remove legacy sandbox-policy accessors from configuration (#61395)
## What changed - Remove `Config::legacy_sandbox_policy` and `Permissions::legacy_sandbox_policy`. - Update core and TUI tests to use permission profiles and filesystem/network policies directly, with explicit conversion where legacy wire formats are required. - Report the active sandbox label in app-server resume override mismatch diagnostics. GitOrigin-RevId: cbc5417944e23404523e69dc5516d66d6bfafefe
This commit is contained in:
@@ -7809,7 +7809,7 @@ fn agent_picker_item_name_snapshot() {
|
||||
async fn side_fork_config_is_ephemeral_and_appends_developer_guardrails() {
|
||||
let app = make_test_app().await;
|
||||
let original_approval_policy = app.config.permissions.approval_policy.value();
|
||||
let original_sandbox_policy = app.config.legacy_sandbox_policy();
|
||||
let original_permission_profile = app.config.permissions.effective_permission_profile();
|
||||
|
||||
let mut fork_config = app.side_fork_config();
|
||||
crate::app_server_session::SideChatStorage::Temporary.configure_fork(&mut fork_config);
|
||||
@@ -7819,7 +7819,10 @@ async fn side_fork_config_is_ephemeral_and_appends_developer_guardrails() {
|
||||
fork_config.permissions.approval_policy.value(),
|
||||
original_approval_policy
|
||||
);
|
||||
assert_eq!(fork_config.legacy_sandbox_policy(), original_sandbox_policy);
|
||||
assert_eq!(
|
||||
fork_config.permissions.effective_permission_profile(),
|
||||
original_permission_profile
|
||||
);
|
||||
let developer_instructions = fork_config
|
||||
.developer_instructions
|
||||
.as_deref()
|
||||
|
||||
@@ -253,8 +253,12 @@ async fn misalignment_continuation_requires_current_review_and_submits_once() ->
|
||||
.then(|| config.permissions.user_visible_workspace_roots().to_vec()),
|
||||
approval_policy: (!server_owned).then_some(AskForApproval::OnRequest),
|
||||
approvals_reviewer: None,
|
||||
sandbox_policy: (!server_owned && !preserve)
|
||||
.then(|| config.legacy_sandbox_policy().into()),
|
||||
sandbox_policy: (!server_owned && !preserve).then(|| config
|
||||
.permissions
|
||||
.effective_permission_profile()
|
||||
.to_legacy_sandbox_policy(config.cwd.as_path())
|
||||
.expect("test permissions fit the legacy wire format")
|
||||
.into()),
|
||||
cyber_access_program: rollout_enabled.then_some(if daybreak {
|
||||
CyberAccessProgram::DaybreakBlue.into()
|
||||
} else {
|
||||
|
||||
@@ -2,8 +2,6 @@ use super::helpers::drain_insert_history_transcript;
|
||||
use super::*;
|
||||
use crate::app_event::HistoryLookupResponse;
|
||||
use codex_app_server_protocol::ImageReference;
|
||||
use codex_app_server_protocol::NetworkAccess;
|
||||
use codex_app_server_protocol::SandboxPolicy;
|
||||
use codex_app_server_protocol::ThreadItem;
|
||||
use codex_protocol::models::FunctionCallOutputBody;
|
||||
use codex_protocol::models::ManagedFileSystemPermissions;
|
||||
@@ -686,10 +684,6 @@ async fn session_configured_syncs_widget_config_permissions_and_cwd() {
|
||||
},
|
||||
};
|
||||
let expected_permission_profile = expected_app_server_permission_profile.clone();
|
||||
let expected_core_sandbox = expected_permission_profile
|
||||
.to_legacy_sandbox_policy(expected_cwd.as_path())
|
||||
.expect("permission profile should project to legacy sandbox policy");
|
||||
let expected_sandbox = SandboxPolicy::from(expected_core_sandbox);
|
||||
let configured = crate::session_state::ThreadSessionState {
|
||||
read_only_history: false,
|
||||
daybreak_enabled: false,
|
||||
@@ -721,8 +715,6 @@ async fn session_configured_syncs_widget_config_permissions_and_cwd() {
|
||||
AskForApproval::from(chat.config_ref().permissions.approval_policy.value()),
|
||||
AskForApproval::Never
|
||||
);
|
||||
let actual_sandbox = SandboxPolicy::from(chat.config_ref().legacy_sandbox_policy());
|
||||
assert_eq!(&actual_sandbox, &expected_sandbox);
|
||||
assert_eq!(
|
||||
chat.config_ref().permissions.effective_permission_profile(),
|
||||
expected_app_server_permission_profile
|
||||
@@ -818,9 +810,6 @@ async fn session_configured_external_sandbox_keeps_external_runtime_policy() {
|
||||
network: NetworkSandboxPolicy::Restricted,
|
||||
};
|
||||
let expected_permission_profile = expected_app_server_permission_profile.clone();
|
||||
let expected_sandbox = SandboxPolicy::ExternalSandbox {
|
||||
network_access: NetworkAccess::Restricted,
|
||||
};
|
||||
let configured = crate::session_state::ThreadSessionState {
|
||||
read_only_history: false,
|
||||
daybreak_enabled: false,
|
||||
@@ -848,8 +837,6 @@ async fn session_configured_external_sandbox_keeps_external_runtime_policy() {
|
||||
|
||||
chat.handle_thread_session(configured);
|
||||
|
||||
let actual_sandbox = SandboxPolicy::from(chat.config_ref().legacy_sandbox_policy());
|
||||
assert_eq!(&actual_sandbox, &expected_sandbox);
|
||||
assert_eq!(
|
||||
chat.config_ref().permissions.effective_permission_profile(),
|
||||
expected_app_server_permission_profile
|
||||
|
||||
Reference in New Issue
Block a user