Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions codex-rs/core/src/context_manager/history_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,8 @@ fn reference_context_item() -> TurnContextItem {
current_date: Some("2026-03-23".to_string()),
timezone: Some("America/Los_Angeles".to_string()),
approval_policy: AskForApproval::OnRequest,
sandbox_policy: None,
permission_profile: Some(permission_profile),
permission_profile,
network: None,
file_system_sandbox_policy: None,
model: "gpt-test".to_string(),
personality: None,
collaboration_mode: None,
Expand Down
40 changes: 11 additions & 29 deletions codex-rs/core/src/session/rollout_reconstruction_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ use codex_protocol::protocol::CompactedItem;
use codex_protocol::protocol::InitialHistory;
use codex_protocol::protocol::InterAgentCommunication;
use codex_protocol::protocol::ResumedHistory;
use codex_protocol::protocol::SandboxPolicy;
use pretty_assertions::assert_eq;
use std::path::PathBuf;

Expand Down Expand Up @@ -53,13 +52,12 @@ fn inter_agent_assistant_message(text: &str) -> ResponseItem {
}
}

fn legacy_sandbox_policy_for_rollout_fixture(turn_context: &TurnContext) -> SandboxPolicy {
fn permission_profile_for_rollout_fixture(turn_context: &TurnContext) -> PermissionProfile {
let file_system_sandbox_policy = turn_context.file_system_sandbox_policy();
codex_sandboxing::compatibility_sandbox_policy_for_permission_profile(
&turn_context.permission_profile,
PermissionProfile::from_runtime_permissions_with_enforcement(
turn_context.permission_profile.enforcement(),
&file_system_sandbox_policy,
turn_context.network_sandbox_policy(),
turn_context.cwd.as_path(),
)
}

Expand All @@ -75,10 +73,8 @@ async fn record_initial_history_resumed_bare_turn_context_does_not_hydrate_previ
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -116,10 +112,8 @@ async fn record_initial_history_resumed_hydrates_previous_turn_settings_from_lif
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -926,10 +920,8 @@ async fn record_initial_history_resumed_turn_context_after_compaction_reestablis
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -1004,10 +996,8 @@ async fn record_initial_history_resumed_turn_context_after_compaction_reestablis
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -1035,10 +1025,8 @@ async fn record_initial_history_resumed_aborted_turn_without_id_clears_active_tu
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -1150,10 +1138,8 @@ async fn record_initial_history_resumed_unmatched_abort_preserves_active_turn_fo
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: current_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -1264,10 +1250,8 @@ async fn record_initial_history_resumed_trailing_incomplete_turn_compaction_clea
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -1416,10 +1400,8 @@ async fn record_initial_history_resumed_replaced_incomplete_compacted_turn_clear
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy_for_rollout_fixture(&turn_context)),
permission_profile: None,
permission_profile: permission_profile_for_rollout_fixture(&turn_context),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down
28 changes: 4 additions & 24 deletions codex-rs/core/src/session/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1738,25 +1738,15 @@ async fn fork_startup_context_then_first_turn_diff_snapshot() -> anyhow::Result<
async fn record_initial_history_forked_hydrates_previous_turn_settings() {
let (session, turn_context) = make_session_and_context().await;
let previous_model = "forked-rollout-model";
let file_system_sandbox_policy = turn_context.file_system_sandbox_policy();
let legacy_sandbox_policy =
codex_sandboxing::compatibility_sandbox_policy_for_permission_profile(
&turn_context.permission_profile,
&file_system_sandbox_policy,
turn_context.network_sandbox_policy(),
turn_context.cwd.as_path(),
);
let previous_context_item = TurnContextItem {
turn_id: Some(turn_context.sub_id.clone()),
trace_id: turn_context.trace_id.clone(),
cwd: turn_context.cwd.to_path_buf(),
current_date: turn_context.current_date.clone(),
timezone: turn_context.timezone.clone(),
approval_policy: turn_context.approval_policy.value(),
sandbox_policy: Some(legacy_sandbox_policy),
permission_profile: None,
permission_profile: turn_context.permission_profile(),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: turn_context.personality,
collaboration_mode: Some(turn_context.collaboration_mode.clone()),
Expand Down Expand Up @@ -5934,12 +5924,7 @@ async fn turn_context_item_omits_legacy_equivalent_file_system_sandbox_policy()

let item = turn_context.to_turn_context_item();

assert_eq!(item.sandbox_policy, None);
assert_eq!(item.file_system_sandbox_policy, None);
assert_eq!(
item.permission_profile,
Some(turn_context.permission_profile())
);
assert_eq!(item.permission_profile, turn_context.permission_profile());
}

#[tokio::test]
Expand All @@ -5954,12 +5939,7 @@ async fn turn_context_item_stores_split_file_system_policy_in_permission_profile

let item = turn_context.to_turn_context_item();

assert_eq!(item.sandbox_policy, None);
assert_eq!(item.file_system_sandbox_policy, None);
assert_eq!(
item.permission_profile,
Some(turn_context.permission_profile())
);
assert_eq!(item.permission_profile, turn_context.permission_profile());
}

#[tokio::test]
Expand Down Expand Up @@ -6103,7 +6083,7 @@ async fn record_context_updates_and_set_reference_context_item_persists_profile_
panic!("expected resumed rollout history");
};
let persisted_permission_profile = resumed.history.iter().find_map(|item| match item {
RolloutItem::TurnContext(ctx) => ctx.permission_profile.clone(),
RolloutItem::TurnContext(ctx) => Some(ctx.permission_profile.clone()),
_ => None,
});
assert_eq!(
Expand Down
4 changes: 1 addition & 3 deletions codex-rs/core/src/session/turn_context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -305,10 +305,8 @@ impl TurnContext {
current_date: self.current_date.clone(),
timezone: self.timezone.clone(),
approval_policy: self.approval_policy.value(),
sandbox_policy: None,
permission_profile: Some(self.permission_profile()),
permission_profile: self.permission_profile(),
network: self.turn_context_network_item(),
file_system_sandbox_policy: None,
model: self.model_info.slug.clone(),
personality: self.personality,
collaboration_mode: Some(self.collaboration_mode.clone()),
Expand Down
4 changes: 1 addition & 3 deletions codex-rs/core/tests/suite/resume_warning.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,8 @@ fn resume_history(
current_date: None,
timezone: None,
approval_policy: config.permissions.approval_policy.value(),
sandbox_policy: Some(config.legacy_sandbox_policy()),
permission_profile: None,
permission_profile: config.permissions.permission_profile(),
network: None,
file_system_sandbox_policy: None,
model: previous_model.to_string(),
personality: None,
collaboration_mode: None,
Expand Down
Loading
Loading