V2/ue/Tools/plan-v2-rust-artifact-cache.py creates the shared compiled-crate
artifact plan for CI agents and developer workstations. It reuses the Cargo
crate graph from plan-v2-rust-crate-schedule.py and emits one cache artifact
per local crate, target triple, and Cargo profile.
Cache keys include the Rust and Cargo versions, target triple, profile, feature set, crate inputs, workspace lockfile, toolchain inputs, and a local dependency closure digest. The local dependency closure digest means a low-level crate change gives every dependent crate a new artifact key; when a leaf crate changes, unrelated artifacts remain reusable.
Artifacts are archived as tar.zst, uploaded to the S3-compatible bucket
oshun-v2-rust-artifacts under v2/rust/artifacts, and accompanied by SHA-256
integrity sidecars. Developers use the same object namespace with a local cache
at $(Workspace)/.cache/v2/rust-artifacts, so a CI-produced crate artifact can
be restored on a workstation before Cargo falls back to compiling it.
The release evidence is $(ArchiveRoot)/Rust/build-artifact-cache-plan.json.
Horde gates require rust-artifact-cache-plan-generated, at least 80 percent
rust-artifact-cache-coverage, and zero rust-artifact-cache-integrity
failures.