Repository navigation
Clear staging an earlier launch abandoned - #116
Merged
Merged
Conversation
Four prepared staging directories were sitting on the test device, 2.6 MiB each, left by imports that were interrupted rather than cancelled. Intake keeps a verified partial extraction on purpose, so an import the operating system kills can be picked up instead of started over (ADR 0006). #95 built the other half of that — `listResumableBlueskyArchiveIntakes`, which reports what is resumable and destroys staging too damaged to be — and nothing has ever called it, which is the same gap this branch exists to close for the import entry point itself. So the policy produced only debris: a directory the size of the archive being read, per interrupted import, kept until the app is uninstalled. Starting an import sweeps them. It is the only thing that creates them, the person is right there, and anything still in flight belongs to a generation that one has already moved past. The day something offers to resume an import, this is what it replaces. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Found by looking at the test device after #115 went in: four prepared staging directories under
archive-intake, 2.6 MiB each — one per import that was interrupted rather than cancelled.Intake keeps a verified partial extraction on purpose, so an import the operating system kills can be picked up instead of started over (ADR 0006). #95 built the other half of that policy —
listResumableBlueskyArchiveIntakes, which reports what is resumable and destroys staging too damaged to be — and nothing has ever called it. That is the same gap #97 closed for the import entry point itself, one layer down. So what the policy actually produced was debris: a directory the size of the archive being read, per interrupted import, kept until the app is uninstalled.Starting an import now sweeps them. It is the only thing that creates them, the person is right there, and anything still in flight belongs to a generation that one has already moved past. The day something offers to resume an interrupted import rather than only preserving it, this is what that replaces.
Cancelling an import already cleared its own staging, and still does; this is only about the launches that never got to cancel anything. A sweep that throws is warned about rather than failing the import, since debris nobody can see is not worth refusing to import over.
use-bluesky-archive-import.test.tscovers both kinds of leftover: staging with a readable checkpoint, and staging with nothing in it at all.(This was written by an LLM.)
🤖 Generated with Claude Code