e44b0cbb3e
Editing a project's src/ without cargo build silently ran the previous dylib with plausible stale numbers — the role-2 authoring-loop footgun. The loader now compares the newest mtime under src/ + Cargo.toml against the dylib's mtime right after the ArtifactMissing check and prints one stderr warning naming both timestamps (hand-rolled Hinnant civil_from_days render, no new dependency), then proceeds unchanged: warn, never refuse — a stale run is still deterministic and manifest-stamped. Every I/O failure in the scan degrades to skip-and-continue; staleness can never become a refusal. Fresh builds stay silent (inverse unit-pinned). Verified: headline e2e green, project_load 8/8, full workspace suite green, clippy -D warnings clean; independent quality review approved. closes #237