Repository navigation
fleet-workspace: tolerate missing folders, close squash-landed branches, add reconcile - #202
Merged
Conversation
… branches, add reconcile - du measurements accept totals whose only diagnostics are entries that vanished mid-scan; permission and other errors still fail closed - status/gc report missing folders without failing; gc marks them record-only - close accepts squash-landed branches when the changed paths match the remote default branch, or with --landed <sha> contained in a remote ref - reconcile [--dry-run] marks non-closed records with missing folders as 'missing' so they stop holding writer slots; it never deletes anything Co-Authored-By: Claude Opus 5.5 <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.
Fixes the failures hit during the 2026-10-09 finish sweep.
status,install,runandgcfailed withdu -sk failed: ... No such file or directorywhen another agent trashed a retired folder whileduwalked it. Disk measurement now accepts a total whose onlydudiagnostics are vanished entries; permission and other errors still fail closed.inspecttolerates a path disappearing mid-measure.gcmarks closed/missing records with no folder asrecord-only.closepreviously required HEAD inside a remote ref, which a squash merge never satisfies. It now accepts the branch when every path it changed since its merge base withorigin/HEAD/origin/mainhas identical content there (landing.landedBy: content-equalin the receipt), or with--landed <sha>naming a commit contained in a local remote-tracking ref (operator-verified). Unlanded local commits remain blocked.reconcile [--dry-run]. Marks non-closed records whose folder is gone asmissing(recordsmissingFrom/missingAt) so they stop holding writer slots. Manifest-only: no folder, branch or Git worktree metadata is deleted.Tests: 4 new cases in
tooling/test/agent-workspaces.test.mjs(squash content-equal close, diverged/unpublished stay blocked and--landedvalidation, missing-folder status/gc/reconcile/writer-slot release, vanished-entry du classification).node --test test/*.test.mjs391/391,validate-tooling,check:docspass.🤖 Generated with Claude Code