Repository navigation
fix(runtime): guard trusted snapshot publication lifecycle - #5407
Merged
Merged
Conversation
auser
marked this pull request as ready for review
November 13, 2026 02:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Split a fail-closed snapshot-registry race fix from draft #5326 so it can be reviewed independently against current
main. This PR enables no warm claim and publishes no runtime or image.What changed
Validation (head
488ad667996887aa8991d03e055a2955260c9108)cargo test --locked -p mvm-runtime --lib trusted_snapshot_service::tests: 10 passed.cargo clippy --locked -p mvm-runtime --lib --tests -- -D warnings: passed.cargo fmt --all -- --check,git diff --check,target/debug/xtask check-rust-footprint,target/debug/xtask check-claim-catalog,target/debug/xtask check-file-size: passed. Footprint: 966,463 SLOC / 1,231,847 physical; ceilings 966,500 / 1,232,000.cargo run -p xtask -- check-declared-backing --self-testandcargo run -p xtask -- check-declared-backing: passed locally. Previous CI failure on missing ADR declaration fixed; same-head CI pending.cargo test --locked -p mvm-runtime --libon the preceding head: 1,364 passed, 7 ignored. Same-head full suite is pending CI. No warm-claim or production-release witness is claimed.Review focus and boundaries
The existing
TrustedSnapshotBackend::materializestill yields a writable destination and is not a VMM-lifetime read lease. No Linux memfd builder, fs-verity provider, warm admission path or VMM descriptor handoff remains in this PR: the standalone memfd API was removed because a duplicated descriptor could outlive its budget reservation. Implement those pieces only with an owned authenticated closure and a VMM/last-child lease, then validate them separately. Until then this PR does not enable warm claims; PR-only runtimes remain cold-only. A failed stage reserves its ID rather than deleting backend state it cannot prove it owns; the eventual production owner must bound reservations before exposing publication to requests.Draft #5326 remains independent and unmerged. Landing this PR still requires review, green CI, and explicit authorization to merge the specific change.