From 3b765518aea81f4f2b91b85b6f9c826e93e20a1d Mon Sep 17 00:00:00 2001 From: Celia Chen Date: Tue, 29 Sep 2026 12:21:00 -0700 Subject: [PATCH] [0.159] Backport GPT-6.1 Sol Bedrock catalogs (#49342) Backport #49339 onto `release/0.159` for 0.159.1. This adds GPT-6.1 Sol to the Bedrock Mantle and Runtime catalogs and makes it the default while retaining existing models and provider capability normalization. The bundled catalog dependency is already on the release branch through #49323. The cherry-pick applied without conflicts and has the same stable patch ID as the original public commit. Validation: - `just test -p codex-model-provider -p codex-model-provider-info --lib bedrock`: 57 passed. - `just test -p codex-tui --lib bedrock`: 7 passed; reviewed Mantle and Runtime model-picker snapshots, including GovCloud coverage. - `just test -p codex-app-server --test all -E 'test(suite::v2::thread_start::thread_start_provider_model_fallback_) or test(suite::v2::thread_start::thread_start_bedrock_runtime_)'`: 4 passed on automatic retry. All four initial attempts timed out during initialization; nextest reports these as flaky passes. - `just fmt` completed successfully. Discarded unrelated justfile-only formatting churn; the backport remains identical to the public source patch. - `git diff --check`: passed. - Live AWS inference has not been verified as part of this backport. CI remains blocked by failures outside this nine-file backport: - [Manifest check](https://github.com/openai/codex/actions/runs/36615506389/job/109567359534): stale `code-mode` feature exception. - [Codespell](https://github.com/openai/codex/actions/runs/36615506389/job/109567359001): `WRONLY` and `oint` in unchanged exec-server/TUI math files. - [cargo shear](https://github.com/openai/codex/actions/runs/36615506389/job/109567775485): unlinked `core/tests/suite/scenarios_read_only_mcp.rs` and `login/src/internal_identity.rs`. - [Bazel Clippy](https://github.com/openai/codex/actions/runs/36615506389/job/109567360047): unused imports in unchanged core implementation/test files. - [SDK checks](https://github.com/openai/codex/actions/runs/36615506389/job/109567359667): existing formatter-driver test expects direct rustfmt while the driver uses cargo fmt; neither file changes here. Release coordination: include this backport together with #49323 before publishing 0.159.1. Publication remains with the release captain. --- .../app-server/tests/suite/v2/thread_start.rs | 9 ++-- codex-rs/model-provider-info/src/lib.rs | 1 + .../src/amazon_bedrock/catalog.rs | 51 +++++++++++++------ .../src/amazon_bedrock/runtime_catalog.rs | 2 + .../amazon_bedrock/runtime_catalog_tests.rs | 40 ++++++++++----- codex-rs/model-provider/src/provider.rs | 9 ++-- ...twidget__tests__bedrock_mantle_models.snap | 15 +++--- ...widget__tests__bedrock_runtime_models.snap | 14 ++--- .../chatwidget/tests/bedrock_catalog_tests.rs | 11 +++- 9 files changed, 102 insertions(+), 50 deletions(-) diff --git a/codex-rs/app-server/tests/suite/v2/thread_start.rs b/codex-rs/app-server/tests/suite/v2/thread_start.rs index 7c5cd7e7e7..3fc8a0a2ed 100644 --- a/codex-rs/app-server/tests/suite/v2/thread_start.rs +++ b/codex-rs/app-server/tests/suite/v2/thread_start.rs @@ -115,7 +115,7 @@ model = "gpt-5.4-mini" }) .await?; - assert_eq!(response.model, "openai.gpt-6-sol"); + assert_eq!(response.model, "openai.gpt-6.1-sol"); Ok(()) } @@ -245,6 +245,7 @@ async fn thread_start_provider_model_fallback_uses_bedrock_static_catalog() -> R ) .await?; for model in [ + "openai.gpt-6.1-sol", "openai.gpt-6-sol", "openai.gpt-6-luna", "openai.gpt-5.6-sol", @@ -273,7 +274,7 @@ async fn thread_start_provider_model_fallback_uses_bedrock_static_catalog() -> R supported_with_fallback.model, unsupported_without_fallback.model, ], - vec!["openai.gpt-6-sol", "openai.gpt-5.5", "gpt-5.4-mini"] + vec!["openai.gpt-6.1-sol", "openai.gpt-5.5", "gpt-5.4-mini"] ); Ok(()) } @@ -292,6 +293,8 @@ async fn thread_start_bedrock_runtime_prefers_global_cross_region_models() -> Re .await?; for model in [ + "global.openai.gpt-6.1-sol", + "us.openai.gpt-6.1-sol", "global.openai.gpt-6-sol", "us.openai.gpt-6-sol", "global.openai.gpt-6-luna", @@ -311,7 +314,7 @@ async fn thread_start_bedrock_runtime_prefers_global_cross_region_models() -> Re /*allow_provider_model_fallback*/ true, ) .await?; - assert_eq!(response.model, "global.openai.gpt-6-sol"); + assert_eq!(response.model, "global.openai.gpt-6.1-sol"); Ok(()) } diff --git a/codex-rs/model-provider-info/src/lib.rs b/codex-rs/model-provider-info/src/lib.rs index c18ce6c322..ead5e9f419 100644 --- a/codex-rs/model-provider-info/src/lib.rs +++ b/codex-rs/model-provider-info/src/lib.rs @@ -81,6 +81,7 @@ const AMAZON_BEDROCK_RUNTIME_PROVIDER_NAME: &str = "Amazon Bedrock Runtime"; pub const AMAZON_BEDROCK_RUNTIME_PROVIDER_ID: &str = "amazon-bedrock-runtime"; pub const AMAZON_BEDROCK_GPT_5_5_MODEL_ID: &str = "openai.gpt-5.5"; pub const AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID: &str = "openai.gpt-5.6-sol"; +pub const AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID: &str = "openai.gpt-6.1-sol"; pub const AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID: &str = "openai.gpt-6-sol"; pub const AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID: &str = "openai.gpt-6-luna"; pub const AMAZON_BEDROCK_GPT_6_ASTRA_MODEL_ID: &str = "openai.gpt-6-astra"; diff --git a/codex-rs/model-provider/src/amazon_bedrock/catalog.rs b/codex-rs/model-provider/src/amazon_bedrock/catalog.rs index 003bbbe761..c7c478436b 100644 --- a/codex-rs/model-provider/src/amazon_bedrock/catalog.rs +++ b/codex-rs/model-provider/src/amazon_bedrock/catalog.rs @@ -2,6 +2,7 @@ use codex_model_provider_info::AMAZON_BEDROCK_GPT_5_5_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID; 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_model_provider_info::AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_ASTRA_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID; @@ -17,6 +18,7 @@ const GPT_5_BEDROCK_CONTEXT_WINDOW: i64 = 272_000; const GPT_5_6_SOL_OPENAI_MODEL_ID: &str = "gpt-5.6-sol"; const GPT_5_6_TERRA_OPENAI_MODEL_ID: &str = "gpt-5.6-terra"; const GPT_5_6_LUNA_OPENAI_MODEL_ID: &str = "gpt-5.6-luna"; +const GPT_6_1_SOL_OPENAI_MODEL_ID: &str = "gpt-6.1-sol"; const GPT_6_SOL_OPENAI_MODEL_ID: &str = "gpt-6-sol"; const GPT_6_LUNA_OPENAI_MODEL_ID: &str = "gpt-6-luna"; const GPT_6_ASTRA_OPENAI_MODEL_ID: &str = "gpt-6-astra"; @@ -26,9 +28,9 @@ pub(crate) fn static_model_catalog() -> ModelsResponse { normalize_bedrock_catalog(ModelsResponse { models: vec![ bedrock_model( - bundled_openai_model(GPT_6_SOL_OPENAI_MODEL_ID), - AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, - "GPT-6 Sol", + bundled_openai_model(GPT_6_1_SOL_OPENAI_MODEL_ID), + AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID, + "GPT-6.1 Sol", /*priority*/ 0, ), bedrock_model( @@ -37,35 +39,41 @@ pub(crate) fn static_model_catalog() -> ModelsResponse { "GPT-6-Astra", /*priority*/ 1, ), + bedrock_model( + bundled_openai_model(GPT_6_SOL_OPENAI_MODEL_ID), + AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, + "GPT-6 Sol", + /*priority*/ 2, + ), bedrock_model( bundled_openai_model(GPT_6_LUNA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID, "GPT-6 Luna", - /*priority*/ 2, + /*priority*/ 3, ), bedrock_model( bundled_openai_model(GPT_5_6_SOL_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID, "GPT-5.6 Sol", - /*priority*/ 3, + /*priority*/ 4, ), bedrock_model( bundled_openai_model(GPT_5_6_TERRA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID, "GPT-5.6 Terra", - /*priority*/ 4, + /*priority*/ 5, ), bedrock_model( bundled_openai_model(GPT_5_6_LUNA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID, "GPT-5.6 Luna", - /*priority*/ 5, + /*priority*/ 6, ), gpt_5_bedrock_model( GPT_5_5_OPENAI_MODEL_ID, AMAZON_BEDROCK_GPT_5_5_MODEL_ID, "GPT-5.5", - /*priority*/ 6, + /*priority*/ 7, ), ], }) @@ -161,8 +169,9 @@ mod tests { .map(|model| model.slug.as_str()) .collect::>(), vec![ - AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, + AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID, AMAZON_BEDROCK_GPT_6_ASTRA_MODEL_ID, + AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID, AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID, AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID, @@ -189,7 +198,7 @@ mod tests { .collect::>(), vec![ ( - AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, + AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID, Some(GPT_5_BEDROCK_CONTEXT_WINDOW), Some(872_000), WebSearchToolType::Text, @@ -200,6 +209,12 @@ mod tests { Some(872_000), WebSearchToolType::Text, ), + ( + AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, + Some(GPT_5_BEDROCK_CONTEXT_WINDOW), + Some(872_000), + WebSearchToolType::Text, + ), ( AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID, Some(GPT_5_BEDROCK_CONTEXT_WINDOW), @@ -277,35 +292,41 @@ mod tests { let catalog = static_model_catalog(); for (mut expected, slug, display_name, priority) in [ + ( + bundled_openai_model(GPT_6_1_SOL_OPENAI_MODEL_ID), + AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID, + "GPT-6.1 Sol", + 0, + ), ( bundled_openai_model(GPT_6_SOL_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID, "GPT-6 Sol", - 0, + 2, ), ( bundled_openai_model(GPT_6_LUNA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID, "GPT-6 Luna", - 2, + 3, ), ( bundled_openai_model(GPT_5_6_SOL_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID, "GPT-5.6 Sol", - 3, + 4, ), ( bundled_openai_model(GPT_5_6_TERRA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID, "GPT-5.6 Terra", - 4, + 5, ), ( bundled_openai_model(GPT_5_6_LUNA_OPENAI_MODEL_ID), AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID, "GPT-5.6 Luna", - 5, + 6, ), ( bundled_openai_model(GPT_6_ASTRA_OPENAI_MODEL_ID), diff --git a/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog.rs b/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog.rs index abe435a920..3f6eab5a89 100644 --- a/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog.rs +++ b/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog.rs @@ -1,6 +1,7 @@ use codex_model_provider_info::AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID; 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_model_provider_info::AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_ASTRA_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID; use codex_model_provider_info::AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID; @@ -21,6 +22,7 @@ pub(super) fn static_runtime_model_catalog() -> ModelsResponse { AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID | AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID | AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID + | AMAZON_BEDROCK_GPT_6_1_SOL_MODEL_ID | AMAZON_BEDROCK_GPT_6_ASTRA_MODEL_ID | AMAZON_BEDROCK_GPT_6_SOL_MODEL_ID | AMAZON_BEDROCK_GPT_6_LUNA_MODEL_ID diff --git a/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog_tests.rs b/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog_tests.rs index defb74fdc1..9f6f6ad8b7 100644 --- a/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog_tests.rs +++ b/codex-rs/model-provider/src/amazon_bedrock/runtime_catalog_tests.rs @@ -18,25 +18,27 @@ fn runtime_catalog_includes_supported_cross_region_models_in_priority_order() { )) .collect::>(), vec![ - ("global.openai.gpt-6-sol", "GPT-6 Sol (Global)", 0), + ("global.openai.gpt-6.1-sol", "GPT-6.1 Sol (Global)", 0), ("global.openai.gpt-6-astra", "GPT-6-Astra (Global)", 1), - ("global.openai.gpt-6-luna", "GPT-6 Luna (Global)", 2), - ("global.openai.gpt-5.6-sol", "GPT-5.6 Sol (Global)", 3), - ("global.openai.gpt-5.6-terra", "GPT-5.6 Terra (Global)", 4), - ("global.openai.gpt-5.6-luna", "GPT-5.6 Luna (Global)", 5), - ("us.openai.gpt-6-sol", "GPT-6 Sol (US cross-region)", 6), - ("us.openai.gpt-6-astra", "GPT-6-Astra (US cross-region)", 7), - ("us.openai.gpt-6-luna", "GPT-6 Luna (US cross-region)", 8), - ("us.openai.gpt-5.6-sol", "GPT-5.6 Sol (US cross-region)", 9), + ("global.openai.gpt-6-sol", "GPT-6 Sol (Global)", 2), + ("global.openai.gpt-6-luna", "GPT-6 Luna (Global)", 3), + ("global.openai.gpt-5.6-sol", "GPT-5.6 Sol (Global)", 4), + ("global.openai.gpt-5.6-terra", "GPT-5.6 Terra (Global)", 5), + ("global.openai.gpt-5.6-luna", "GPT-5.6 Luna (Global)", 6), + ("us.openai.gpt-6.1-sol", "GPT-6.1 Sol (US cross-region)", 7), + ("us.openai.gpt-6-astra", "GPT-6-Astra (US cross-region)", 8), + ("us.openai.gpt-6-sol", "GPT-6 Sol (US cross-region)", 9), + ("us.openai.gpt-6-luna", "GPT-6 Luna (US cross-region)", 10), + ("us.openai.gpt-5.6-sol", "GPT-5.6 Sol (US cross-region)", 11), ( "us.openai.gpt-5.6-terra", "GPT-5.6 Terra (US cross-region)", - 10 + 12 ), ( "us.openai.gpt-5.6-luna", "GPT-5.6 Luna (US cross-region)", - 11 + 13 ), ] ); @@ -59,7 +61,7 @@ fn runtime_catalog_disables_web_search_without_overriding_review_models() { .collect::>(), vec![ ( - "global.openai.gpt-6-sol", + "global.openai.gpt-6.1-sol", None, false, Some(MultiAgentVersion::V1), @@ -70,6 +72,12 @@ fn runtime_catalog_disables_web_search_without_overriding_review_models() { false, Some(MultiAgentVersion::V1), ), + ( + "global.openai.gpt-6-sol", + None, + false, + Some(MultiAgentVersion::V1), + ), ( "global.openai.gpt-6-luna", None, @@ -95,7 +103,7 @@ fn runtime_catalog_disables_web_search_without_overriding_review_models() { Some(MultiAgentVersion::V1), ), ( - "us.openai.gpt-6-sol", + "us.openai.gpt-6.1-sol", None, false, Some(MultiAgentVersion::V1), @@ -106,6 +114,12 @@ fn runtime_catalog_disables_web_search_without_overriding_review_models() { false, Some(MultiAgentVersion::V1), ), + ( + "us.openai.gpt-6-sol", + None, + false, + Some(MultiAgentVersion::V1), + ), ( "us.openai.gpt-6-luna", None, diff --git a/codex-rs/model-provider/src/provider.rs b/codex-rs/model-provider/src/provider.rs index fa30479f7f..a9b5633b61 100644 --- a/codex-rs/model-provider/src/provider.rs +++ b/codex-rs/model-provider/src/provider.rs @@ -1277,6 +1277,7 @@ printf '%s\n' '{"AccessKeyId":"exported","SecretAccessKey":"secret"}' .await; assert_eq!(uncached_catalog, catalog); for slug in [ + "openai.gpt-6.1-sol", "openai.gpt-6-sol", "openai.gpt-6-luna", "openai.gpt-5.6-sol", @@ -1307,8 +1308,9 @@ printf '%s\n' '{"AccessKeyId":"exported","SecretAccessKey":"secret"}' assert_eq!( models, vec![ - ("openai.gpt-6-sol", "GPT-6 Sol"), + ("openai.gpt-6.1-sol", "GPT-6.1 Sol"), ("openai.gpt-6-astra", "GPT-6-Astra"), + ("openai.gpt-6-sol", "GPT-6 Sol"), ("openai.gpt-6-luna", "GPT-6 Luna"), ("openai.gpt-5.6-sol", "GPT-5.6 Sol"), ("openai.gpt-5.6-terra", "GPT-5.6 Terra"), @@ -1329,8 +1331,9 @@ printf '%s\n' '{"AccessKeyId":"exported","SecretAccessKey":"secret"}' .map(|preset| preset.model.as_str()) .collect::>(), vec![ - "openai.gpt-6-sol", + "openai.gpt-6.1-sol", "openai.gpt-6-astra", + "openai.gpt-6-sol", "openai.gpt-6-luna", "openai.gpt-5.6-sol", "openai.gpt-5.6-terra", @@ -1344,7 +1347,7 @@ printf '%s\n' '{"AccessKeyId":"exported","SecretAccessKey":"secret"}' .find(|preset| preset.is_default) .expect("Bedrock catalog should have a default model"); - assert_eq!(default_model.model, "openai.gpt-6-sol"); + assert_eq!(default_model.model, "openai.gpt-6.1-sol"); } #[tokio::test] diff --git a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_mantle_models.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_mantle_models.snap index ceb9d4ecad..5bf600958d 100644 --- a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_mantle_models.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_mantle_models.snap @@ -5,12 +5,13 @@ expression: "render_bottom_popup(&chat, 100)" Select Model and Effort -› 1. GPT-6 Sol (current) Previous generation workhorse model. - 2. GPT-6-Astra Frontier intelligence for the most demanding work. - 3. GPT-6 Luna Fast and affordable model for easier tasks. - 4. GPT-5.6 Sol Older generation workhorse model. - 5. GPT-5.6 Terra Older balanced model for straightforward work. - 6. GPT-5.6 Luna Older fast and efficient model. - 7. GPT-5.5 Legacy coding model. +› 1. GPT-6.1 Sol (current) Latest workhorse model for coding and everyday work. + 2. GPT-6-Astra Frontier intelligence for the most demanding work. + 3. GPT-6 Sol Previous generation workhorse model. + 4. GPT-6 Luna Fast and affordable model for easier tasks. + 5. GPT-5.6 Sol Older generation workhorse model. + 6. GPT-5.6 Terra Older balanced model for straightforward work. + 7. GPT-5.6 Luna Older fast and efficient model. + 8. GPT-5.5 Legacy coding model. enter select · esc back diff --git a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_runtime_models.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_runtime_models.snap index 636694f42d..aaaf937bed 100644 --- a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_runtime_models.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__bedrock_runtime_models.snap @@ -5,13 +5,13 @@ expression: "render_bottom_popup(&chat, 100)" Select Model and Effort -› 1. GPT-6 Sol (Global) (current) Previous generation workhorse model. +› 1. GPT-6.1 Sol (Global) (current) Latest workhorse model for coding and everyday work. 2. GPT-6-Astra (Global) Frontier intelligence for the most demanding work. - 3. GPT-6 Luna (Global) Fast and affordable model for easier tasks. - 4. GPT-5.6 Sol (Global) Older generation workhorse model. - 5. GPT-5.6 Terra (Global) Older balanced model for straightforward work. - 6. GPT-5.6 Luna (Global) Older fast and efficient model. - 7. GPT-6 Sol (US cross-region) Previous generation workhorse model. - 8. GPT-6-Astra (US cross-region) Frontier intelligence for the most demanding work. + 3. GPT-6 Sol (Global) Previous generation workhorse model. + 4. GPT-6 Luna (Global) Fast and affordable model for easier tasks. + 5. GPT-5.6 Sol (Global) Older generation workhorse model. + 6. GPT-5.6 Terra (Global) Older balanced model for straightforward work. + 7. GPT-5.6 Luna (Global) Older fast and efficient model. + 8. GPT-6.1 Sol (US cross-region) Latest workhorse model for coding and everyday work. ↓ enter select · esc back diff --git a/codex-rs/tui/src/chatwidget/tests/bedrock_catalog_tests.rs b/codex-rs/tui/src/chatwidget/tests/bedrock_catalog_tests.rs index 46e4a00f30..ca29f275dd 100644 --- a/codex-rs/tui/src/chatwidget/tests/bedrock_catalog_tests.rs +++ b/codex-rs/tui/src/chatwidget/tests/bedrock_catalog_tests.rs @@ -13,13 +13,13 @@ async fn bedrock_astra_model_and_reasoning_pickers() { ( "mantle", ModelProviderInfo::create_amazon_bedrock_provider(/*aws*/ None), - "openai.gpt-6-sol", + "openai.gpt-6.1-sol", "openai.gpt-6-astra", ), ( "runtime", ModelProviderInfo::create_amazon_bedrock_runtime_provider(/*aws*/ None), - "global.openai.gpt-6-sol", + "global.openai.gpt-6.1-sol", "global.openai.gpt-6-astra", ), ] { @@ -30,6 +30,13 @@ async fn bedrock_astra_model_and_reasoning_pickers() { HttpClientFactory::new(OutboundProxyPolicy::ReqwestDefault), ) .await; + assert_eq!( + presets + .iter() + .find(|preset| preset.is_default) + .map(|preset| preset.model.as_str()), + Some(default_model), + ); let astra = presets .iter() .find(|model| model.model == astra_model)