Fix OverrideTurnContext removal split

This commit is contained in:
Eric Traut
2026-05-16 16:00:11 -07:00
parent 875b846721
commit 5b47db287d
17 changed files with 65 additions and 483 deletions
+23 -3
View File
@@ -260,6 +260,27 @@ impl CodexThread {
&self,
overrides: CodexThreadTurnContextOverrides,
) -> ConstraintResult<()> {
let updates = self.turn_context_settings_update(overrides).await;
self.codex.session.validate_settings(&updates).await
}
/// Apply persistent turn context overrides directly.
///
/// This bypasses the submission queue; callers that need ordering relative
/// to turns should use the queued turn-context op.
pub async fn update_turn_context_overrides(
&self,
overrides: CodexThreadTurnContextOverrides,
) -> ConstraintResult<ThreadConfigSnapshot> {
let updates = self.turn_context_settings_update(overrides).await;
self.codex.session.update_settings(updates).await?;
Ok(self.config_snapshot().await)
}
async fn turn_context_settings_update(
&self,
overrides: CodexThreadTurnContextOverrides,
) -> SessionSettingsUpdate {
let CodexThreadTurnContextOverrides {
cwd,
workspace_roots,
@@ -287,7 +308,7 @@ impl CodexThread {
.with_updates(model, effort, /*developer_instructions*/ None)
};
let updates = SessionSettingsUpdate {
SessionSettingsUpdate {
cwd,
workspace_roots,
profile_workspace_roots,
@@ -302,8 +323,7 @@ impl CodexThread {
service_tier,
personality,
..Default::default()
};
self.codex.session.validate_settings(&updates).await
}
}
/// Use sparingly: this is intended to be removed soon.
+1
View File
@@ -123,6 +123,7 @@ use codex_protocol::protocol::TokenUsage;
use codex_protocol::protocol::TokenUsageInfo;
use codex_protocol::protocol::TurnAbortedEvent;
use codex_protocol::protocol::TurnCompleteEvent;
use codex_protocol::protocol::TurnContextOverrides;
use codex_protocol::protocol::TurnStartedEvent;
use codex_protocol::protocol::UserMessageEvent;
use codex_protocol::protocol::W3cTraceContext;
@@ -125,19 +125,8 @@ async fn user_input_includes_collaboration_instructions_after_override() -> Resu
let collaboration_mode = collab_mode_with_instructions(Some(collab_text));
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collaboration_mode),
personality: None,
..Default::default()
})
.await?;
@@ -288,19 +277,8 @@ async fn override_then_next_turn_uses_updated_collaboration_instructions() -> Re
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collaboration_mode),
personality: None,
..Default::default()
})
.await?;
@@ -345,19 +323,8 @@ async fn user_turn_overrides_collaboration_instructions_after_override() -> Resu
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(base_mode),
personality: None,
..Default::default()
})
.await?;
@@ -422,19 +389,8 @@ async fn collaboration_mode_update_emits_new_instruction_message() -> Result<()>
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_instructions(Some(first_text))),
personality: None,
..Default::default()
})
.await?;
@@ -454,19 +410,8 @@ async fn collaboration_mode_update_emits_new_instruction_message() -> Result<()>
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_instructions(Some(second_text))),
personality: None,
..Default::default()
})
.await?;
@@ -515,19 +460,8 @@ async fn collaboration_mode_update_noop_does_not_append() -> Result<()> {
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_instructions(Some(collab_text))),
personality: None,
..Default::default()
})
.await?;
@@ -547,19 +481,8 @@ async fn collaboration_mode_update_noop_does_not_append() -> Result<()> {
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_instructions(Some(collab_text))),
personality: None,
..Default::default()
})
.await?;
@@ -607,22 +530,11 @@ async fn collaboration_mode_update_emits_new_instruction_message_when_mode_chang
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_mode_and_instructions(
ModeKind::Default,
Some(default_text),
)),
personality: None,
..Default::default()
})
.await?;
@@ -642,22 +554,11 @@ async fn collaboration_mode_update_emits_new_instruction_message_when_mode_chang
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_mode_and_instructions(
ModeKind::Plan,
Some(plan_text),
)),
personality: None,
..Default::default()
})
.await?;
@@ -706,22 +607,11 @@ async fn collaboration_mode_update_noop_does_not_append_when_mode_is_unchanged()
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_mode_and_instructions(
ModeKind::Default,
Some(collab_text),
)),
personality: None,
..Default::default()
})
.await?;
@@ -741,22 +631,11 @@ async fn collaboration_mode_update_noop_does_not_append_when_mode_is_unchanged()
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_mode_and_instructions(
ModeKind::Default,
Some(collab_text),
)),
personality: None,
..Default::default()
})
.await?;
@@ -811,19 +690,8 @@ async fn resume_replays_collaboration_instructions() -> Result<()> {
initial
.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collab_mode_with_instructions(Some(collab_text))),
personality: None,
..Default::default()
})
.await?;
@@ -882,17 +750,6 @@ async fn empty_collaboration_instructions_are_ignored() -> Result<()> {
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(CollaborationMode {
mode: ModeKind::Default,
settings: Settings {
@@ -901,7 +758,7 @@ async fn empty_collaboration_instructions_are_ignored() -> Result<()> {
developer_instructions: Some("".to_string()),
},
}),
personality: None,
..Default::default()
})
.await?;
+1 -12
View File
@@ -3286,18 +3286,7 @@ async fn snapshot_request_shape_pre_turn_compaction_including_incoming_user_mess
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(PathBuf::from(PRETURN_CONTEXT_DIFF_CWD)),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await
.expect("override turn context");
+2 -24
View File
@@ -2776,18 +2776,7 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_including_incoming_us
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(PathBuf::from(PRETURN_CONTEXT_DIFF_CWD)),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
}
@@ -2894,19 +2883,8 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_strips_incoming_model
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
codex
@@ -551,16 +551,6 @@ async fn snapshot_rollback_followup_turn_trims_context_updates() -> Result<()> {
conversation
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(override_cwd.to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(CollaborationMode {
mode: ModeKind::Default,
settings: Settings {
@@ -569,7 +559,7 @@ async fn snapshot_rollback_followup_turn_trims_context_updates() -> Result<()> {
developer_instructions: Some(ROLLED_BACK_DEV_INSTRUCTIONS.to_string()),
},
}),
personality: None,
..Default::default()
})
.await?;
+2 -22
View File
@@ -26,19 +26,9 @@ async fn turn_context_update_does_not_persist_when_config_exists() {
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some("o3".to_string()),
effort: Some(Some(ReasoningEffort::High)),
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await
.expect("submit override");
@@ -66,19 +56,9 @@ async fn turn_context_update_does_not_create_config_file() {
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some("o3".to_string()),
effort: Some(Some(ReasoningEffort::Medium)),
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await
.expect("submit override");
+3 -35
View File
@@ -167,19 +167,8 @@ async fn model_change_appends_model_instructions_developer_message() -> Result<(
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -248,19 +237,9 @@ async fn model_and_personality_change_only_appends_model_instructions() -> Resul
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: Some(Personality::Pragmatic),
..Default::default()
})
.await?;
@@ -996,19 +975,8 @@ async fn model_switch_to_smaller_model_updates_token_context_window() -> Result<
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(smaller_model_slug.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -523,18 +523,8 @@ async fn snapshot_model_visible_layout_resume_override_matches_rollout_model() -
.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(resume_override_cwd),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.2".to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
resumed
+3 -36
View File
@@ -35,19 +35,8 @@ async fn turn_context_update_without_user_turn_does_not_record_permissions_updat
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -74,18 +63,7 @@ async fn turn_context_update_without_user_turn_does_not_record_environment_updat
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(new_cwd.path().to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -113,19 +91,8 @@ async fn turn_context_update_without_user_turn_does_not_record_collaboration_upd
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: Some(collaboration_mode),
personality: None,
..Default::default()
})
.await?;
@@ -105,19 +105,8 @@ async fn permissions_message_added_on_override_change() -> Result<()> {
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -243,19 +232,8 @@ async fn permissions_message_omitted_when_disabled() -> Result<()> {
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -335,19 +313,8 @@ async fn resume_replays_permissions_messages() -> Result<()> {
initial
.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -445,19 +412,8 @@ async fn resume_and_fork_append_permissions_messages() -> Result<()> {
initial
.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
+4 -48
View File
@@ -338,19 +338,8 @@ async fn user_turn_personality_some_adds_update_message() -> anyhow::Result<()>
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: Some(Personality::Friendly),
..Default::default()
})
.await?;
@@ -423,19 +412,8 @@ async fn user_turn_personality_same_value_does_not_add_update_message() -> anyho
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: Some(Personality::Pragmatic),
..Default::default()
})
.await?;
@@ -521,19 +499,8 @@ async fn user_turn_personality_skips_if_feature_disabled() -> anyhow::Result<()>
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: Some(Personality::Pragmatic),
..Default::default()
})
.await?;
@@ -771,19 +738,8 @@ async fn user_turn_personality_remote_model_template_includes_update_message() -
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: Some(Personality::Friendly),
..Default::default()
})
.await?;
+2 -17
View File
@@ -444,19 +444,12 @@ async fn overrides_turn_context_but_keeps_cached_prefix_and_key_constant() -> an
.expect("workspace profile should have legacy projection");
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: Some(sandbox_policy),
permission_profile: Some(permission_profile),
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: Some(Some(ReasoningEffort::High)),
summary: Some(ReasoningSummary::Detailed),
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -532,19 +525,11 @@ async fn override_before_first_turn_emits_environment_context() -> anyhow::Resul
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.4".to_string()),
effort: Some(Some(ReasoningEffort::Low)),
summary: None,
service_tier: None,
collaboration_mode: Some(collaboration_mode),
personality: None,
..Default::default()
})
.await?;
+2 -24
View File
@@ -640,19 +640,8 @@ async fn remote_models_remote_model_uses_unified_exec() -> Result<()> {
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(REMOTE_MODEL_SLUG.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
@@ -901,19 +890,8 @@ async fn remote_models_apply_remote_base_instructions() -> Result<()> {
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some(model.to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
+1 -12
View File
@@ -426,19 +426,8 @@ async fn resume_model_switch_is_not_duplicated_after_pre_turn_override() -> Resu
resumed
.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.4".to_string()),
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;
resumed
+1 -12
View File
@@ -792,18 +792,7 @@ async fn review_uses_overridden_cwd_for_base_branch_merge_base() {
codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: Some(repo_path.to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: None,
collaboration_mode: None,
personality: None,
..Default::default()
})
.await
.unwrap();
+1 -12
View File
@@ -244,19 +244,8 @@ async fn memories_startup_phase1_uses_live_thread_service_tier() -> anyhow::Resu
test.codex
.update_turn_context_overrides(codex_core::CodexThreadTurnContextOverrides {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
model: None,
effort: None,
summary: None,
service_tier: Some(Some(ServiceTier::Fast.request_value().to_string())),
collaboration_mode: None,
personality: None,
..Default::default()
})
.await?;