Repository navigation
Keep interrupted off-site uploads from claiming verified success - #33
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.
When an off-site backup worker is cancelled while an upload provider is still running, the provider can return later. The queue previously continued toward promotion and verification, which could make an interrupted run look successful. A saved local package could also change after its manifest was made or between preflight and upload.
This change checks for worker cancellation at the queue and each remote handoff, records an unexpected interruption separately from an explicit user cancellation, and keeps a concrete provider or integrity error when it races with cancellation. It rechecks local SHA-256 evidence, including same-size changes. If local evidence is stale after remote promotion, the item pauses for manual retry while preserving the promotion marker; it does not claim remote verification or upload a replacement over the existing final.
Local validation
GitHub Actions started automatically when this draft was pushed. Observed Mac jobs stop before tests during an Xcode 26.3 compiler IR-generation crash in
PreferencesWindow.swift; engine jobs stop before tests on Swift concurrency compile errors inChecksumTruncationTests.swiftandStressTests.swift. The same compile failures appear on the existing #28 CI branch. Evidence-corpus jobs pass. No manual CI rerun was requested; the local results above are the review evidence for this draft.