What problem does it solve? Finished work leaves behind stale worktrees, local branches, and remote branches that accumulate until the branch list no longer reflects open work. Standard ancestry checks like git branch --merged fail on squash-merged and rebased repositories, so cleanup either deletes nothing or risks deleting unmerged work. ## Core Features & Use Cases - Content-based merge detection: Decides whether a branch is merged by checking pull request state and commit content against origin/main, not by ancestry, so squash and rebase merges are handled correctly. - Safe ordered deletion: Removes worktrees first, then local branches, then remote branches, recording branch tips before deletion and refusing anything the content check did not clear. - Survivor reporting: Produces a report naming every branch and worktree left in place with the reason: dirty, locked, in use, unmerged, or a closed-but-unmerged pull request. - Use Case: After merging several pull requests in a squash-merge repository, run a sweep to retire the leftover worktrees and branches, and get a report of the two branches that still hold unmerged commits. ## Quick Start Ask the assistant to clean up merged branches and worktrees in this repository and report anything that is not safe to delete.