Normalize fallback runtime identity

Signed-off-by: kenny lopez <klopez4212@gmail.com>
This commit is contained in:
kenny lopez
2026-07-27 15:38:12 +01:00
parent b8178d5cba
commit c4844111f1
2 changed files with 42 additions and 1 deletions
@@ -266,7 +266,17 @@ pub(crate) fn global_harness_defaults_apply_to_record(
})
.unwrap_or_else(|| preferred_runtime.to_string());
record.agent_command.trim() == preferred_command.trim()
let record_command = record.agent_command.trim();
let preferred_command = preferred_command.trim();
match (
crate::managed_agents::known_acp_runtime(record_command),
crate::managed_agents::known_acp_runtime(preferred_command),
) {
(Some(record_runtime), Some(preferred_runtime)) => {
record_runtime.id == preferred_runtime.id
}
_ => record_command == preferred_command,
}
}
/// Return global env vars with harness-dependent defaults masked when an
@@ -524,6 +524,37 @@ fn implicit_fallback_override_masks_defaults_from_a_different_preferred_runtime(
);
}
#[test]
fn implicit_fallback_alias_inherits_defaults_from_the_same_preferred_runtime() {
let mut record = bare_record();
record.persona_id = Some("p1".to_string());
record.agent_command = "claude-code-acp".to_string();
record.agent_command_override = Some("claude-code-acp".to_string());
record.agent_command_override_is_implicit = true;
let personas = vec![persona("p1", None, None)];
let global = GlobalAgentConfig {
env_vars: BTreeMap::from([
("BUZZ_AGENT_THINKING_EFFORT".to_string(), "high".to_string()),
("SHARED_API_KEY".to_string(), "kept".to_string()),
]),
model: Some("global-model".to_string()),
provider: Some("global-provider".to_string()),
preferred_runtime: Some("claude".to_string()),
};
assert_eq!(
resolve_effective_model_provider(&record, &personas, &global),
(
Some("global-model".to_string()),
Some("global-provider".to_string())
)
);
assert_eq!(
global_env_vars_for_record(&record, &personas, &global),
global.env_vars
);
}
#[test]
fn explicit_harness_override_keeps_legacy_global_defaults() {
let mut record = bare_record();