merge: isolate agent cwd in .ideai/run/<id> (convention-file collision fix, §14.1)
This commit is contained in:
@ -217,15 +217,27 @@ fn prepare_substitutes_project_root_in_cwd_template() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn prepare_empty_cwd_template_defaults_to_root() {
|
||||
fn prepare_empty_cwd_template_defaults_to_base() {
|
||||
let rt = pure_runtime();
|
||||
let p = profile(ContextInjection::stdin(), "");
|
||||
let root = ProjectPath::new("/home/me/proj").unwrap();
|
||||
let base = ProjectPath::new("/home/me/proj").unwrap();
|
||||
|
||||
let spec = rt.prepare_invocation(&p, &ctx(), &root).unwrap();
|
||||
let spec = rt.prepare_invocation(&p, &ctx(), &base).unwrap();
|
||||
assert_eq!(spec.cwd.as_str(), "/home/me/proj");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn prepare_substitutes_agent_run_dir_in_cwd_template() {
|
||||
// The canonical template (ARCHITECTURE §14.1): `{agentRunDir}` resolves to the
|
||||
// base cwd the launcher passes — the agent's isolated run directory.
|
||||
let rt = pure_runtime();
|
||||
let p = profile(ContextInjection::convention_file("CLAUDE.md").unwrap(), "{agentRunDir}");
|
||||
let run_dir = ProjectPath::new("/home/me/proj/.ideai/run/agent-1").unwrap();
|
||||
|
||||
let spec = rt.prepare_invocation(&p, &ctx(), &run_dir).unwrap();
|
||||
assert_eq!(spec.cwd.as_str(), "/home/me/proj/.ideai/run/agent-1");
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// detection_spec (pure)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user