@@ -1280,8 +1280,8 @@ impl CodexMessageProcessor {
12801280
12811281 let config = match derive_config_from_params (
12821282 & self . cli_overrides ,
1283- forced_overrides,
12841283 Some ( request_overrides) ,
1284+ forced_overrides,
12851285 )
12861286 . await
12871287 {
@@ -1335,7 +1335,7 @@ impl CodexMessageProcessor {
13351335 ) ;
13361336
13371337 let config =
1338- match derive_config_from_params ( & self . cli_overrides , forced_overrides , params. config )
1338+ match derive_config_from_params ( & self . cli_overrides , params. config , forced_overrides )
13391339 . await
13401340 {
13411341 Ok ( config) => config,
@@ -1578,8 +1578,8 @@ impl CodexMessageProcessor {
15781578 ) ;
15791579 match derive_config_from_params (
15801580 & self . cli_overrides ,
1581- forced_overrides,
15821581 request_overrides,
1582+ forced_overrides,
15831583 )
15841584 . await
15851585 {
@@ -2245,8 +2245,8 @@ impl CodexMessageProcessor {
22452245
22462246 derive_config_from_params (
22472247 & self . cli_overrides ,
2248- forced_overrides,
22492248 Some ( request_overrides) ,
2249+ forced_overrides,
22502250 )
22512251 . await
22522252 }
@@ -3363,16 +3363,17 @@ fn errors_to_info(
33633363
33643364/// Derive the effective [`Config`] by layering three override sources.
33653365///
3366- /// Precedence (highest to lowest):
3367- /// - `forced_overrides`: strongly-typed "forced" values from the harness/app-server (e.g. `cwd`,
3368- /// sandbox/approval policy, model/provider, instructions).
3366+ /// Precedence (lowest to highest):
3367+ /// - `cli_overrides`: process-wide startup `--config` flags.
33693368/// - `request_overrides`: per-request dotted-path overrides (`params.config`), converted JSON->TOML;
33703369/// applied after `cli_overrides`.
3371- /// - `cli_overrides`: process-wide startup `--config` flags.
3370+ /// - `forced_overrides`: strongly-typed overrides derived from the conversation/thread parameters
3371+ /// (e.g. `cwd`, sandbox/approval policy, model/provider, instructions), plus a few app-server
3372+ /// supplied values (e.g. `codex_linux_sandbox_exe`); applied last.
33723373async fn derive_config_from_params (
33733374 cli_overrides : & [ ( String , TomlValue ) ] ,
3374- forced_overrides : ConfigOverrides ,
33753375 request_overrides : Option < HashMap < String , serde_json:: Value > > ,
3376+ forced_overrides : ConfigOverrides ,
33763377) -> std:: io:: Result < Config > {
33773378 let merged_cli_overrides = cli_overrides
33783379 . iter ( )
0 commit comments