* fix(git-cleanup): scope operation and ignored-file guards to the affected candidates
An in-progress rebase in any worktree refused every candidate, and ignored files
made every installed worktree "dirty". With fleet agents rebasing PR branches
continuously, nothing was ever prunable.
- Pin only the worktree running an operation and the branch it operates on
(checked-out branch, rebase head-name, BISECT_START) plus that branch's remote
ref; other candidates stay eligible. Unreadable worktrees are pinned the same way.
- Drop --ignored from the cleanliness check; untracked and modified tracked files
still refuse removal.
Closes#144
* fix(git-cleanup): fetch trunk and prove squash landings by file content
Squash-merge rewrites commit SHAs, so unique commits and per-commit
patch IDs are not evidence that work reached trunk. Fetch origin trunk
before classifying, fast-forward a behind local trunk, and treat path
blobs already on trunk as landed.
* fix(git-cleanup): record reviewed pstack destination hashes
CI pstack:verify rejected the squash-aware cleanup.py change as an
unreviewed destination of the superseded worktree-audit mapping.
* fix(ci): bump markdownlint-cli and pin patched js-yaml/smol-toml
bun audit failed CI on GHSA-2883-xcg3-v3hh (js-yaml) and
GHSA-7w5x-hrqm-74c2 (smol-toml) via markdownlint-cli.