@@ -2859,6 +2859,7 @@ impl CodexMessageProcessor {
28592859 /*has_in_progress_turn*/ false ,
28602860 ) ;
28612861
2862+ let sandbox_policy = config_snapshot. sandbox_policy ( ) ;
28622863 let permission_profile =
28632864 thread_response_permission_profile ( config_snapshot. permission_profile ) ;
28642865
@@ -2871,7 +2872,7 @@ impl CodexMessageProcessor {
28712872 instruction_sources,
28722873 approval_policy : config_snapshot. approval_policy . into ( ) ,
28732874 approvals_reviewer : config_snapshot. approvals_reviewer . into ( ) ,
2874- sandbox : config_snapshot . sandbox_policy . into ( ) ,
2875+ sandbox : sandbox_policy. into ( ) ,
28752876 permission_profile,
28762877 reasoning_effort : config_snapshot. reasoning_effort ,
28772878 } ;
@@ -3597,7 +3598,7 @@ impl CodexMessageProcessor {
35973598 builder. model_provider = Some ( model_provider. clone ( ) ) ;
35983599 builder. cwd = config_snapshot. cwd . to_path_buf ( ) ;
35993600 builder. cli_version = Some ( env ! ( "CARGO_PKG_VERSION" ) . to_string ( ) ) ;
3600- builder. sandbox_policy = config_snapshot. sandbox_policy . clone ( ) ;
3601+ builder. sandbox_policy = config_snapshot. sandbox_policy ( ) ;
36013602 builder. approval_mode = config_snapshot. approval_policy ;
36023603 let metadata = builder. build ( model_provider. as_str ( ) ) ;
36033604 if let Err ( err) = state_db_ctx. insert_thread_if_absent ( & metadata) . await {
@@ -4687,7 +4688,7 @@ impl CodexMessageProcessor {
46874688 instruction_sources,
46884689 approval_policy : session_configured. approval_policy . into ( ) ,
46894690 approvals_reviewer : session_configured. approvals_reviewer . into ( ) ,
4690- sandbox : config_snapshot. sandbox_policy . into ( ) ,
4691+ sandbox : config_snapshot. sandbox_policy ( ) . into ( ) ,
46914692 permission_profile,
46924693 reasoning_effort : session_configured. reasoning_effort ,
46934694 } ;
@@ -5418,7 +5419,7 @@ impl CodexMessageProcessor {
54185419 instruction_sources,
54195420 approval_policy : session_configured. approval_policy . into ( ) ,
54205421 approvals_reviewer : session_configured. approvals_reviewer . into ( ) ,
5421- sandbox : config_snapshot. sandbox_policy . into ( ) ,
5422+ sandbox : config_snapshot. sandbox_policy ( ) . into ( ) ,
54225423 permission_profile,
54235424 reasoning_effort : session_configured. reasoning_effort ,
54245425 } ;
@@ -8997,13 +8998,13 @@ async fn handle_pending_thread_resume_request(
89978998 tracing:: warn!( "failed to apply goal resume runtime effects: {err}" ) ;
89988999 }
89999000
9001+ let sandbox_policy = pending. config_snapshot . sandbox_policy ( ) ;
90009002 let ThreadConfigSnapshot {
90019003 model,
90029004 model_provider_id,
90039005 service_tier,
90049006 approval_policy,
90059007 approvals_reviewer,
9006- sandbox_policy,
90079008 permission_profile,
90089009 cwd,
90099010 reasoning_effort,
@@ -9226,8 +9227,9 @@ fn collect_resume_override_mismatches(
92269227 }
92279228 }
92289229 if let Some ( requested_sandbox) = request. sandbox . as_ref ( ) {
9230+ let active_sandbox = config_snapshot. sandbox_policy ( ) ;
92299231 let sandbox_matches = matches ! (
9230- ( requested_sandbox, & config_snapshot . sandbox_policy ) ,
9232+ ( requested_sandbox, & active_sandbox ) ,
92319233 (
92329234 SandboxMode :: ReadOnly ,
92339235 codex_protocol:: protocol:: SandboxPolicy :: ReadOnly { .. }
@@ -9244,8 +9246,7 @@ fn collect_resume_override_mismatches(
92449246 ) ;
92459247 if !sandbox_matches {
92469248 mismatch_details. push ( format ! (
9247- "sandbox requested={requested_sandbox:?} active={:?}" ,
9248- config_snapshot. sandbox_policy
9249+ "sandbox requested={requested_sandbox:?} active={active_sandbox:?}"
92499250 ) ) ;
92509251 }
92519252 }
@@ -10931,7 +10932,6 @@ mod tests {
1093110932 service_tier : Some ( codex_protocol:: config_types:: ServiceTier :: Flex ) ,
1093210933 approval_policy : codex_protocol:: protocol:: AskForApproval :: OnRequest ,
1093310934 approvals_reviewer : codex_protocol:: config_types:: ApprovalsReviewer :: User ,
10934- sandbox_policy : codex_protocol:: protocol:: SandboxPolicy :: DangerFullAccess ,
1093510935 permission_profile : codex_protocol:: models:: PermissionProfile :: Disabled ,
1093610936 cwd,
1093710937 ephemeral : false ,
0 commit comments