feat: tighten preset filter, tame storage load logs, enable rollout prompt by default (#3628)
Summary - common: use exact equality for Swiftfox exclusion to avoid hiding future slugs that merely contain the substring - core: treat missing internal_storage.json as expected (debug), warn only on real IO/parse errors - tui: drop DEBUG_HIGH gate; always consider showing rollout prompt, but suppress under ApiKey auth mode
This commit is contained in:
committed by
GitHub
parent
50262a44ce
commit
6039f8a126
@@ -74,7 +74,7 @@ pub fn builtin_model_presets(auth_mode: Option<AuthMode>) -> Vec<ModelPreset> {
|
||||
Some(AuthMode::ApiKey) => PRESETS
|
||||
.iter()
|
||||
.copied()
|
||||
.filter(|p| !p.model.contains(SWIFTFOX_MEDIUM_MODEL))
|
||||
.filter(|p| p.model != SWIFTFOX_MEDIUM_MODEL)
|
||||
.collect(),
|
||||
_ => PRESETS.to_vec(),
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use anyhow::Context;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
use std::io::ErrorKind;
|
||||
use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
|
||||
@@ -31,7 +32,14 @@ impl InternalStorage {
|
||||
}
|
||||
},
|
||||
Err(error) => {
|
||||
tracing::warn!("failed to read internal storage: {error:?}");
|
||||
if error.kind() == ErrorKind::NotFound {
|
||||
tracing::debug!(
|
||||
"internal storage not found at {}; initializing defaults",
|
||||
storage_path.display()
|
||||
);
|
||||
} else {
|
||||
tracing::warn!("failed to read internal storage: {error:?}");
|
||||
}
|
||||
Self::empty(storage_path)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -527,13 +527,8 @@ fn should_show_model_rollout_prompt(
|
||||
swiftfox_model_prompt_seen: bool,
|
||||
) -> bool {
|
||||
let login_status = get_login_status(config);
|
||||
// TODO(jif) drop.
|
||||
let debug_high_enabled = std::env::var("DEBUG_HIGH")
|
||||
.map(|v| v.eq_ignore_ascii_case("1"))
|
||||
.unwrap_or(false);
|
||||
|
||||
active_profile.is_none()
|
||||
&& debug_high_enabled
|
||||
&& cli.model.is_none()
|
||||
&& !swiftfox_model_prompt_seen
|
||||
&& config.model_provider.requires_openai_auth
|
||||
@@ -551,21 +546,7 @@ mod tests {
|
||||
use codex_core::auth::write_auth_json;
|
||||
use codex_core::token_data::IdTokenInfo;
|
||||
use codex_core::token_data::TokenData;
|
||||
use std::sync::Once;
|
||||
|
||||
fn enable_debug_high_env() {
|
||||
static DEBUG_HIGH_ONCE: Once = Once::new();
|
||||
DEBUG_HIGH_ONCE.call_once(|| {
|
||||
// SAFETY: Tests run in a controlled environment and require this env variable to
|
||||
// opt into the GPT-5 High rollout prompt gating. We only set it once.
|
||||
unsafe {
|
||||
std::env::set_var("DEBUG_HIGH", "1");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fn make_config() -> Config {
|
||||
enable_debug_high_env();
|
||||
// Create a unique CODEX_HOME per test to isolate auth.json writes.
|
||||
let mut codex_home = std::env::temp_dir();
|
||||
let unique_suffix = format!(
|
||||
|
||||
Reference in New Issue
Block a user