In-project process/campaign validate hits the cdylib wall on std-only documents #211
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?
Fieldtest cycle-0110 finding (docs/specs/fieldtest-sweep-dissolution.md, friction; observed on a fresh project): inside a project, 'aura process validate ' first fails with 'cargo metadata failed: no cdylib target', then (after cargo build) requires the built dylib — while the identical command runs dylib-free outside any project ('valid (intrinsic)'). A std-only process document references no project nodes, so the intrinsic tier (and referential-over-std) needs no compiled dylib; the CLI nonetheless loads the project env eagerly for every verb once an Aura.toml is discovered (crates/aura-cli/src/main.rs env construction precedes dispatch; crates/aura-cli/src/project.rs load is unconditional).
Pre-existing behaviour, not introduced by the 0110 cycle. The fix direction is a design decision, not a patch: it is the same eager-load coupling the #188 role-homes residue re-opens (the wiring-only project tier — Aura.toml without crate ceremony — needs a load path that does not demand a cdylib for std-only work). Resolve it there, not ad hoc.
depends on: the role-homes / wiring-only-tier design pass (#188 residue)
context: deferred so the load-boundary decision is made once, in its design home, rather than per-verb.
Moved out of the "Real-project readiness" milestone at its close (2026-07-11): per this issue's own dependency the fix direction is decided in the role-homes / wiring-only-tier design pass (#188 residue), not ad hoc — the milestone's remaining scope shipped and the deferral is the conscious re-triage its done-criterion allows.
Superseded by #241 (wiring-only project load tier, shipped 2026-07-12). Verified 2026-07-15: a fresh data-only
Aura.tomlproject is loaded withnative:None, andaura process validatereturns "process document valid (intrinsic)" at exit 0 with no cargo-metadata / cdylib touch — the reported fieldtest failure no longer reproduces. Control check: a genuine[nodes]-pointer project still correctly demands its built dylib, so the fix is precisely scoped. The narrower case (a std-only doc inside a[nodes]-pointer project whose dylib is not yet built) is a distinct, un-reported ask — file fresh if wanted. Closing as superseded.