Skip to content
Merged
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: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
- Stress tests now cover heavy agent churn plus concurrent Auto Review + Esc/typing responsiveness.

- **New/updated models and agents**
- Auto Drive CLI model support includes `gpt-5.3-codex` (planning/problem-solving) and `gpt-5.3-codex-spark` (fast coding/fix loops), with `medium | high | xhigh` reasoning controls.
- Frontline and alias-aware agent model handling now includes `code-gpt-5.3-codex` and `code-gpt-5.3-codex-spark`, with compatibility alias upgrades for `gpt-5.1-codex`, `gpt-5.1-codex-mini`, `gpt-5.2-codex`, etc.
- Auto Drive CLI model support defaults to `gpt-5.5`, with `medium | high | xhigh` reasoning controls.
- Frontline and alias-aware agent model handling now centers on `code-gpt-5.5`, with compatibility alias upgrades for older Codex model names.
- Auto Drive decision schema and coordinator payloads now enforce bounded history while preserving goal and recent context.

See commit `60727b068` and related Auto Drive hardening commits in git history for details.
Expand Down
113 changes: 21 additions & 92 deletions code-rs/common/src/model_presets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,67 +140,6 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
pro_only: false,
show_in_picker: true,
},
ModelPreset {
id: "gpt-5.3-codex".to_string(),
model: "gpt-5.3-codex".to_string(),
display_name: "gpt-5.3-codex".to_string(),
description: "Latest frontier agentic coding model.".to_string(),
default_reasoning_effort: ReasoningEffort::Medium,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffort::Low,
description: "Fast responses with lighter reasoning".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::Medium,
description: "Balances speed and reasoning depth for everyday tasks".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::High,
description: "Maximizes reasoning depth for complex problems".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::XHigh,
description: "Extra high reasoning depth for complex problems".to_string(),
},
],
supported_text_verbosity: &[TextVerbosityConfig::Medium],
is_default: false,
upgrade: None,
pro_only: false,
show_in_picker: true,
},
ModelPreset {
id: "gpt-5.3-codex-spark".to_string(),
model: "gpt-5.3-codex-spark".to_string(),
display_name: "gpt-5.3-codex-spark".to_string(),
description: "Fast codex variant tuned for responsive coding loops and smaller edits."
.to_string(),
default_reasoning_effort: ReasoningEffort::Medium,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffort::Low,
description: "Fast responses with lighter reasoning".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::Medium,
description: "Balances speed and reasoning depth for everyday tasks".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::High,
description: "Maximizes reasoning depth for complex problems".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffort::XHigh,
description: "Extra high reasoning depth for complex problems".to_string(),
},
],
supported_text_verbosity: &[TextVerbosityConfig::Medium],
is_default: false,
upgrade: None,
pro_only: true,
show_in_picker: true,
},
ModelPreset {
id: "gpt-5.2-codex".to_string(),
model: "gpt-5.2-codex".to_string(),
Expand Down Expand Up @@ -228,12 +167,12 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: &[TextVerbosityConfig::Medium],
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
pro_only: false,
show_in_picker: true,
show_in_picker: false,
},
ModelPreset {
id: "gpt-5.2".to_string(),
Expand Down Expand Up @@ -269,12 +208,12 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
pro_only: false,
show_in_picker: true,
show_in_picker: false,
},
ModelPreset {
id: "bengalfox".to_string(),
Expand Down Expand Up @@ -368,7 +307,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: &[TextVerbosityConfig::Medium],
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand Down Expand Up @@ -399,7 +338,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand All @@ -426,7 +365,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand Down Expand Up @@ -460,7 +399,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand Down Expand Up @@ -491,7 +430,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand All @@ -517,7 +456,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand Down Expand Up @@ -555,7 +494,7 @@ static PRESETS: Lazy<Vec<ModelPreset>> = Lazy::new(|| {
supported_text_verbosity: ALL_TEXT_VERBOSITY,
is_default: false,
upgrade: Some(ModelUpgrade {
id: "gpt-5.3-codex".to_string(),
id: "gpt-5.5".to_string(),
reasoning_effort_mapping: None,
migration_config_key: HIDE_GPT_5_2_CODEX_MIGRATION_PROMPT_CONFIG.to_string(),
}),
Expand All @@ -576,9 +515,7 @@ pub fn model_preset_available_for_auth(
}

match auth_mode {
Some(AuthMode::ApiKey) => {
preset.id != "gpt-5.2-codex" && preset.id != "gpt-5.3-codex"
}
Some(AuthMode::ApiKey) => preset.id != "gpt-5.2-codex",
_ => true,
}
}
Expand Down Expand Up @@ -668,33 +605,25 @@ mod tests {
}

#[test]
fn gpt_5_codex_hidden_for_api_key_auth() {
fn retired_models_hidden_for_api_key_auth() {
let presets = builtin_model_presets(Some(AuthMode::ApiKey), false);
assert!(presets.iter().all(|preset| {
preset.id != "gpt-5.2-codex"
&& preset.id != "gpt-5.3-codex"
&& preset.id != "gpt-5.3-codex-spark"
&& preset.id != "gpt-5.2"
}));
}

#[test]
fn spark_hidden_for_non_pro_chatgpt_auth() {
fn retired_models_hidden_for_chatgpt_auth() {
let presets = builtin_model_presets(Some(AuthMode::Chatgpt), false);
assert!(
!presets
.iter()
.any(|preset| preset.id == "gpt-5.3-codex-spark")
);
}

#[test]
fn spark_available_for_pro_chatgpt_auth() {
let presets = builtin_model_presets(Some(AuthMode::Chatgpt), true);
assert!(
presets
.iter()
.any(|preset| preset.id == "gpt-5.3-codex-spark")
);
assert!(presets.iter().all(|preset| {
preset.id != "gpt-5.2-codex"
&& preset.id != "gpt-5.3-codex"
&& preset.id != "gpt-5.3-codex-spark"
&& preset.id != "gpt-5.2"
}));
}

#[test]
Expand Down
Loading