Skip to content

Keep interrupted off-site uploads from claiming verified success - #33

Merged
mikecerisano merged 1 commit into
mainfrom
test/sftp-interruption-evidence-20261017
Oct 17, 2026
Merged

mikecerisano merged 1 commit into
mainfrom
test/sftp-interruption-evidence-20261017

Conversation

@mikecerisano

@mikecerisano mikecerisano commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

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

  • Focused Mac remote queue/coordinator tests passed.
  • Full engine suite passed: 129 XCTest cases (17 intentional skips), plus 163 Swift Testing cases; zero failures.
  • A full Mac suite passed on an earlier iteration. The final standalone-branch full run encountered the existing thumbnail-matrix cancellation and then a test-runner stall, so it is not counted as a final full-suite pass.
  • Separately, a combined integration branch containing this commit, the thumbnail-test isolation fix, and other local TODO work passed its full engine and Mac suites, iPad and iPhone simulator suites, and release builds. Those are combined-branch results, not standalone-branch results.
  • No live SFTP server was exercised.

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 in ChecksumTruncationTests.swift and StressTests.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.

@mikecerisano
mikecerisano marked this pull request as ready for review October 17, 2026 06:40
@mikecerisano
mikecerisano merged commit 422fb7b into main Oct 17, 2026
4 of 8 checks passed
@mikecerisano
mikecerisano deleted the test/sftp-interruption-evidence-20261017 branch October 17, 2026 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant