codex: normalize legacy service tier overrides

This commit is contained in:
Ahmed Ibrahim
2026-05-04 00:37:30 +03:00
parent d7c0ce8115
commit 023fdbd32c
2 changed files with 23 additions and 1 deletions

View File

@@ -6509,6 +6509,28 @@ async fn explicit_null_service_tier_override_sets_fast_default_opt_out() -> std:
Ok(())
}
#[tokio::test]
async fn legacy_fast_service_tier_override_maps_to_priority_id() -> std::io::Result<()> {
let fixture = create_test_fixture()?;
let config = Config::load_from_base_config_with_overrides(
fixture.cfg.clone(),
ConfigOverrides {
cwd: Some(fixture.cwd_path()),
service_tier: Some(Some(ServiceTier::from(SERVICE_TIER_FAST_LEGACY))),
..Default::default()
},
fixture.codex_home(),
)
.await?;
assert_eq!(
config.service_tier,
Some(ServiceTier::from(SERVICE_TIER_PRIORITY))
);
Ok(())
}
#[tokio::test]
async fn service_tier_id_takes_precedence_over_deprecated_service_tier() -> std::io::Result<()> {
let fixture = create_test_fixture()?;

View File

@@ -2667,7 +2667,7 @@ impl Config {
let deprecated_config_service_tier =
cfg.service_tier.clone().map(normalize_deprecated_service_tier);
let service_tier = match service_tier_override {
Some(Some(service_tier)) => Some(service_tier),
Some(Some(service_tier)) => Some(normalize_deprecated_service_tier(service_tier)),
Some(None) => {
// Preserve explicit standard/clear intent after the nested override
// collapses into `Config.service_tier = None`.