mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Snapshot resolved settings for each model step (#40651)
## Why Thread settings can change while a turn is running, and delegated review or compaction steps can select a different model. Each request needs a consistent set of settings resolved against the model that will execute it. ## What changed - Capture immutable resolved settings for each model step, including model metadata, reasoning options, service tier, approvals, and personality. - Keep in-flight steps on their captured settings while applying thread updates to subsequent work. - Resolve inherited reasoning summaries and filter service tiers against the selected model and feature configuration for review and compaction steps. ## Testing Added coverage for settings updates during paused turns, model changes, previous-model compaction, review-model defaults, and service-tier filtering. GitOrigin-RevId: fca4b3b305379f1bf26a5cac75ee0dd1747ac1f6
This commit is contained in:
1 parent
ba6cf9c692
commit
68301fa45f
68 files changed
+1393
-516
No files matched your search
@@ -130,7 +130,7 @@ impl PreparedTurnInputSettings {
|
||||
updates.final_output_json_schema = Some(final_output_json_schema);
|
||||
updates.service_tier_for_turn = service_tier;
|
||||
|
||||
let turn = match kind {
|
||||
let turn_context = match kind {
|
||||
TurnStartKind::User | TurnStartKind::Recovery => Some(
|
||||
session
|
||||
.new_turn_with_sub_id(submission_id.clone(), updates)
|
||||
@@ -144,7 +144,7 @@ impl PreparedTurnInputSettings {
|
||||
.await?
|
||||
}
|
||||
};
|
||||
let Some((turn_context, settings_snapshot)) = turn else {
|
||||
let Some((turn_context, settings_snapshot)) = turn_context else {
|
||||
return Ok(None);
|
||||
};
|
||||
if emit_thread_settings_applied {
|
||||
|
||||
Reference in new issue
Block a user