fix(bin): let stale task cleanup skip reassigned pool slots - #3
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.
Intent
Remove all copies and clean up; only the shared copy for the completed tasks.
The completed Android keyboard (kunchenguid#338, merged https://github.com/netabit/draconian-dungeons/pull/346) and MobX upgrade (merged https://github.com/netabit/draconian-dungeons/pull/341) tasks both have a record pointing to the same isolated draconian-dungeons copy. The Android task is its current owner. Cleanup of either completed task refuses because both records name that copy. Do not remove the active campaign-chat kunchenguid#315 copy or the primary project copy.
What Changed
Risk Assessment
Testing
Ran the focused teardown endpoint-safety test twice; it passed the shared-slot scenarios, using stubbed runtime commands. No live tmux session was available, so actual backend cleanup and preservation of the separate campaign-chat and primary copies could not be demonstrated. Saved the transcript as evidence; the worktree remained unchanged.
tmuxis unavailable on PATH, so the real session backend could not be exercised; providetmuxin the…tmuxis unavailable on PATH; provide it in the test environment and rerun.Evidence: Focused teardown regression test transcript
Source: Focused teardown regression test transcript
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
bin/fm-teardown.sh:3315- The owner-claim check now lets a stale top-level record skip the exclusivity scan, but forced secondmate cleanup still scans descendants in the opposite order:preflight_descendant_treehouse_slotsrejects a shared slot atbin/fm-teardown.sh:2965before it checks whether the child’s claim names another task atbin/fm-teardown.sh:2967. A secondmate teardown containing a child record for the reassigned slot therefore still refuses, leaving that stale child record behind. Apply the ownership-first rule in this preflight too, while retaining refusal for owned, absent-claim, or unreadable-claim slots.tmuxis not available on PATH. Maketmuxavailable in the test environment and rerun this phase to demonstrate cleanup against the actual session backend.tmuxis unavailable on PATH, so the real session backend could not be exercised; providetmuxin the…tmuxis unavailable on PATH; provide it in the test environment and rerun.tests/fm-teardown-endpoint-safety.test.sh 33210Checked the targeted test transcript at~/.no-mistakes/evidence/01M3JM682Z4NJTN1NN64TKCJ66/teardown-shared-slot.logCheckedgit status --short; the test left no worktree changes✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.