Resolve a relative paths.data against the project root, matching paths.runs and [nodes] pointers #254
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Env::data_path()handspaths.datato the data layer verbatim: it returnsp.toml.paths.data.clone()as aString(crates/aura-cli/src/project.rs:187-192 atbd174d1), which flows intoDataServer::newunchanged. The sibling path keys resolve against the project root:runs_root()isp.root.join(runs)(project.rs:167-175), and a[nodes].cratespointer isroot.join(pointer)(project.rs:497, absolute pointers passing through).Consequence: a relative
data = "data"inAura.tomlresolves against the invoking process's cwd, not the project root —aura runfrom the project root and from a project subdirectory silently read different archive locations, whileruns/stays anchored correctly in both. An absolutepaths.datais unaffected.Found while wiring the per-test synthetic archive for #250 (the E2E helper works around it by always invoking with cwd = project root; see the note in
crates/aura-cli/tests/common/mod.rs'swrite_project_filesdoc).Claim (unverified): no current test or documented flow invokes
aurafrom a project subdirectory with a relativepaths.data, so the misresolution is latent rather than observed. A fix is one join at the single choke point:data_path()joining relative values ontop.root, mirroringruns_root().claude referenced this issue2026-07-13 15:24:41 +02:00