feat(aur): compare receipts and replay pinned offline builds - #76
Conversation
|
Warning Review limit reachedNext included review available in 24 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (13)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
be3a607 to
c078361
Compare
c078361 to
3e845c7
Compare
5f7b955 to
1e47279
Compare
1e47279 to
0628eb8
Compare
0628eb8 to
9740ec7
Compare
9740ec7 to
652ba6c
Compare
2af19d9 to
5915c22
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5915c22. Configure here.
5915c22 to
b315299
Compare
b315299 to
535491b
Compare
535491b to
5d6a4b3
Compare

Add
aur comparefor verified receipt differences andaur rebuild --imagefor pinned offline replay from retained sources. Receipts record SOURCE_DATE_EPOCH, input modes, and image fingerprints; replay checks the approved commit, sources, dependencies, and selected image before execution, then compares recorded evidence and output hashes.Image fingerprints hash readable contents and record metadata for private files and special nodes. Results are local reproducibility evidence, not independent attestations. Existing receipts remain readable but require the new evidence to support replay.
Validation: receipt/tampering/fingerprint regression tests and real Arch offline rebuilds with identical outputs. Arch acceptance also exercises receipt-verified dependency artifacts in a disposable image.
Stack created with GitHub Stacks CLI • Give Feedback 💬
Note
Medium Risk
Changes the AUR build and receipt path (pinned epochs, image hashing, offline replay) where mistaken equality or drift checks could mislead operators, though scope stays local verification rather than signed attestation.
Overview
Adds
pacvamp aur compareandpacvamp aur rebuild --imageso operators can diff verified build receipts and rerun an offline build from retained sources against a pinned Arch image.Receipts now record
SOURCE_DATE_EPOCH(defaulting to the approved commit time), chroot image fingerprints (image_digest, with runtime mount dirs excluded), and source file modes. Receipt writing refuses if the image changes mid-build. Source inventory comparison includes modes.Build/replay:
BuildOptscarries epoch and image hash;replay()enforces offline receipts (no network build, pinned image/deps), copies retained sources, uses--holdver, and re-checks inputs after verify.rebuildre-approves the recipe, blocks overriding a managedchroot_root, then compares the new artifact to the reference. Non-captured makepkg stdout goes to stderr for live builds.Docs, CLI usage, regression/e2e tests (including Arch container offline rebuild and dependency-artifact isolation) are updated accordingly. Outcomes are framed as local comparison, not independent reproducibility attestation.
Reviewed by Cursor Bugbot for commit 5d6a4b3. Bugbot is set up for automated code reviews on this repo. Configure here.