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
11 changes: 11 additions & 0 deletions codex-rs/model-provider/src/amazon_bedrock/catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use codex_model_provider_info::AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID;
use codex_model_provider_info::AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID;
use codex_models_manager::bundled_models_response;
use codex_protocol::openai_models::ModelInfo;
use codex_protocol::openai_models::ModelVisibility;
use codex_protocol::openai_models::ModelsResponse;
use codex_protocol::openai_models::ReasoningEffort;
use codex_protocol::openai_models::ReasoningEffortPreset;
Expand Down Expand Up @@ -75,6 +76,7 @@ fn gpt_5_bedrock_model(
model.priority = priority;
model.context_window = Some(GPT_5_BEDROCK_CONTEXT_WINDOW);
model.max_context_window = Some(GPT_5_BEDROCK_CONTEXT_WINDOW);
model.visibility = ModelVisibility::List;
model.availability_nux = None;
model.upgrade = None;
model
Expand Down Expand Up @@ -164,6 +166,15 @@ mod tests {
}
}

#[test]
fn gpt_5_bedrock_models_are_visible() {
let catalog = static_model_catalog();

for model in catalog.models {
assert_eq!(model.visibility, ModelVisibility::List);
}
}

#[test]
fn gpt_5_6_bedrock_models_use_variant_metadata_and_max_reasoning_effort() {
let catalog = static_model_catalog();
Expand Down
4 changes: 2 additions & 2 deletions codex-rs/model-provider/src/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ pub const DEFAULT_APPROVAL_REVIEW_PREFERRED_MODEL: &str = "codex-auto-review";

/// Default model used for memory extraction when a provider does not require a
/// backend-specific model ID.
pub const DEFAULT_MEMORY_EXTRACTION_PREFERRED_MODEL: &str = "gpt-5.4-mini";
pub const DEFAULT_MEMORY_EXTRACTION_PREFERRED_MODEL: &str = "gpt-5.6-luna";

/// Default model used for memory consolidation when a provider does not require
/// a backend-specific model ID.
pub const DEFAULT_MEMORY_CONSOLIDATION_PREFERRED_MODEL: &str = "gpt-5.4";
pub const DEFAULT_MEMORY_CONSOLIDATION_PREFERRED_MODEL: &str = "gpt-5.6-terra";

/// Runtime provider abstraction used by model execution.
///
Expand Down
14 changes: 10 additions & 4 deletions codex-rs/models-manager/models.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion codex-rs/tui/src/chatwidget/rate_limits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
use super::*;
use codex_app_server_protocol::CodexErrorInfo as AppServerCodexErrorInfo;

pub(super) const NUDGE_MODEL_SLUG: &str = "gpt-5.4-mini";
pub(super) const NUDGE_MODEL_SLUG: &str = "gpt-5.6-luna";
pub(super) const RATE_LIMIT_SWITCH_PROMPT_THRESHOLD: f64 = 90.0;
pub(super) const RATE_LIMIT_SWITCH_PROMPT_VIEW_ID: &str = "rate-limit-switch-prompt";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ expression: popup
3. gpt-5.6-luna Fast and affordable agentic coding model.
4. gpt-5.5 Frontier model for complex coding, research, and
real-world work.
5. gpt-5.4 Strong model for everyday coding.
6. gpt-5.4-mini Small, fast, and cost-efficient model for simpler
coding tasks.
› 7. gpt-5.2 (current) Optimized for professional work and long-running
› 5. gpt-5.2 (current) Optimized for professional work and long-running
agents.

Press enter to confirm or esc to go back
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ source: tui/src/chatwidget/tests/status_and_layout.rs
expression: popup
---
Approaching rate limits
Switch to gpt-5.4-mini for lower credit usage?
Switch to gpt-5.6-luna for lower credit usage?

› 1. Switch to gpt-5.4-mini Small, fast, and cost-efficient
model for simpler coding tasks.
› 1. Switch to gpt-5.6-luna Fast and affordable agentic coding
model.
2. Keep current model
3. Keep current model (never show again) Hide future rate limit reminders
about switching models.
Expand Down
2 changes: 1 addition & 1 deletion codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3675,7 +3675,7 @@ async fn advanced_only_reasoning_option_requires_explicit_selection() {
#[tokio::test]
async fn auto_model_advertising_advanced_effort_opens_reasoning_picker() {
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await;
let mut preset = get_available_model(&chat, "gpt-5.4");
let mut preset = get_available_model(&chat, "gpt-5.6-terra");
preset.id = "codex-auto-test".to_string();
preset.model = "codex-auto-test".to_string();
preset.display_name = "codex-auto-test".to_string();
Expand Down
4 changes: 2 additions & 2 deletions codex-rs/tui/src/chatwidget/tests/slash_commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ async fn queued_slash_menu_cancel_drains_next_input() {
async fn queued_settings_selection_applies_before_next_input() {
let (mut chat, mut rx, mut op_rx) = make_chatwidget_manual(Some("gpt-5.2")).await;
chat.thread_id = Some(ThreadId::new());
let mut preset = get_available_model(&chat, "gpt-5.4");
let mut preset = get_available_model(&chat, "gpt-5.6-terra");
preset.supported_reasoning_efforts.truncate(1);
let selected_effort = preset.supported_reasoning_efforts[0].effort.clone();
chat.model_catalog = std::sync::Arc::new(ModelCatalog::new(vec![preset]));
Expand Down Expand Up @@ -439,7 +439,7 @@ async fn queued_settings_selection_applies_before_next_input() {
match next_submit_op(&mut op_rx) {
Op::UserTurn { model, effort, .. } => assert_eq!(
(model, effort),
("gpt-5.4".to_string(), Some(selected_effort))
("gpt-5.6-terra".to_string(), Some(selected_effort))
),
other => panic!("expected queued message with updated model, got {other:?}"),
}
Expand Down
Loading