diff --git a/crates/tracedecay-agent-hosts/build.rs b/crates/tracedecay-agent-hosts/build.rs index 0c81e4576f..864bb705c5 100644 --- a/crates/tracedecay-agent-hosts/build.rs +++ b/crates/tracedecay-agent-hosts/build.rs @@ -185,12 +185,18 @@ fn main() { &mut code, "GENERATED_CODEX_AGENT_FILES", agents.iter().map(|agent| { + // Keep read-only specialists on Terra so they do not silently + // inherit an expensive primary Sol session. Sol Advisor owns the + // separately configured explicit final/high-risk review lane. + let (model, model_reasoning_effort) = ("gpt-5.6-terra", "high"); ( format!("tracedecay-{}.toml", agent.name), format!( - "name = {}\ndescription = {}\nsandbox_mode = \"read-only\"\ndeveloper_instructions = {}\n", + "name = {}\ndescription = {}\nmodel = {}\nmodel_reasoning_effort = {}\nsandbox_mode = \"read-only\"\ndeveloper_instructions = {}\n", quoted_string(&format!("tracedecay-{}", agent.name)), quoted_string(&agent.description), + quoted_string(model), + quoted_string(model_reasoning_effort), quoted_string(&agent.body), ), ) diff --git a/tests/agent_suite/claude_plugin_bundle_test.rs b/tests/agent_suite/claude_plugin_bundle_test.rs index 5534a9df62..3fadb07e6c 100644 --- a/tests/agent_suite/claude_plugin_bundle_test.rs +++ b/tests/agent_suite/claude_plugin_bundle_test.rs @@ -588,6 +588,8 @@ fn cursor_and_codex_agents_are_generated_from_the_canonical_catalog() { Some(required_scalar(&claude, "description", &claude_path).as_str()) ); assert_eq!(codex_toml["sandbox_mode"].as_str(), Some("read-only")); + assert_eq!(codex_toml["model"].as_str(), Some("gpt-5.6-terra")); + assert_eq!(codex_toml["model_reasoning_effort"].as_str(), Some("high")); assert_eq!( codex_toml["developer_instructions"].as_str().map(str::trim), Some(canonical_body.trim())