Repository navigation
Reduce microsandbox checkpoint archive I/O - #666
Merged
Merged
Conversation
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.
Checkpoint export and import carried a Runtime image already installed on compatible nodes. Export only the checkpoint and require its captured image digest to match the local image record before native restore. Initial creation uses Never; the pinned SDK restores with IfMissing and can fetch that exact digest if its physical cache is incomplete. The helper documents this limitation.
Skip a second archive hash only immediately after durable publication, and verify descriptor ownership rather than damaged payload contents during snapshot deletion. Restore retains archive hashing before import and full imported-artifact verification. Existing lifecycle/node logs gain stage and queue durations; no protocol, setting, cache or vendor-specific Core path is added.
Validation: pinned helper build/tests/vet, execution/node tests, fresh independent complete-diff review and all applicable CI passed. Real Codex fresh, same-node/cross-node RAM, expiry-cold continuation and deletion passed. Claude restored across nodes after Core restart with the same boot ID, native process PID/start ticks, native Session identity, files and conversation, then physically deleted successfully.
Three alternating pairs from the same representative Claude snapshot reduced median import + native Restore from 5.343 s to 1.184 s; archives decreased from 382,485,687 to 133,176,280 bytes. Native Restore stayed below 0.5 s in both variants. This is a preloaded-image single-workload measurement, not a fleet SLO. The separate Claude end-to-end sample includes a deliberate Core restart and is not used as a steady-state latency comparison.
Native failure gates passed corrupted archives, identity/mount mismatches, missing image records, damaged owned snapshot deletion, and two consecutive RAM cycles retaining the same boot ID. Removing physical cache metadata while retaining its DB identity caused the expected typed native integrity failure and exact-digest registry attempt: target absent, unknown ownership preserved, no observation replay, and exact cleanup confirmed. Failed probe fixtures are retained separately from passing evidence; production code was not changed to accommodate them.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.