Repository navigation
verus-latest: drop .fingerprint/incremental/build dirs and .d files from the shipped tree - #880
Conversation
…dirs and .d files from the shipped tree They came along with cp -R of target-verus/release and differ on every build (timestamps, dep-info hashes); verus loads none of them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Warning Review limit reached
This review includes 1 billable file and costs up to $0.25.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 59 minutes for your next included review. View limit details
Comment |
|
Lab-box double build of verus-latest with this recipe over pkgs c930e31: 5 of 3999 files differ, down from 33. The 28 cargo bookkeeping files are gone; what remains is vstd itself: libvstd rlib/rmeta (same bytes in a different item order, e.g. arrow_v vs arrow_frac swapped) and vstd.vir (a 9.8 KB region). That is rust_verify/vir emitting in HashMap iteration order, i.e. per-process RandomState seeds from getrandom, not anything in this recipe. The fix for that class is build-time entropy pinning (repro-lab detrand, proposed as a sandbox default); this PR stands on its own for the files it removes. |
…d and the vstd verification pass (libvstd/vstd.vir came out in HashMap order) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Pushed the getrandom shim (the one zola and nushell already carry) for both the workspace build and the vstd verification pass; a lab-box double build with it is queued. |
|
With the getrandom shim: two forced lab-box builds of verus-latest (recipe over pkgs c930e31, separate fresh caches) are byte-identical, 0 of 3999 files differ. Before this PR the same double build differed in 33 files; after the first commit in 5 (libvstd rlib/rmeta/vir in HashMap order); now none. |
There was a problem hiding this comment.
LGTM. The double build shows 0 of 3999 files differing, down from 33. Nothing removed at build.sh:134-135 is needed at runtime, and the smoke test runs a real verification. The build is offline (vendored crates, CARGO_NET_OFFLINE), so the entropy shim doesn't have #878's TLS concern here. Once #884 is sound, this should switch to the shared shim.
Generated by Claude Code
Diffing the published verus-latest artifacts of two world rebuilds (build-servers early-cutoff study): 33 of 6603 files differed, 31 of them under
usr/lib/ver 8000 us/.fingerprint/(the Rust build system's state: timestamps and dep-info hashes that change on every build) plus two of its bookkeeping files. The binaries and rlibs were identical.The recipe copies all of
target-verus/release/into the package. This removes.fingerprint/,incremental/,build/and the make-style.dfiles after the copy. verus and cargo-verus load none of them at runtime; they need the binaries,deps/*.rlib/*.soand the private toolchain.🤖 Generated with Claude Code