Problem
No tier lists, ages, or triages stashes; only remove-path.sh touches them, and solely as a refusal guard. User question "does this include stashes?" has answer "no tier touches them" — but also no tier helps with them. Field state: 5 stashes across 3 object stores, 2 self-described as superseded/pre-rebase safety backups (stale pre-776 topic drafts (superseded by origin/main), codex-safety-before-main-rebase-…), invisible to every existing action.
Fix direction
New stash audit action: per-stash age, source branch, diffstat, associated-PR-merged check where derivable, keep/drop prompt per stash (never auto-drop). Dedupe by --git-common-dir — linked worktrees share the stash ref. Related metadata gaps worth folding in or splitting: no reflog expiry, no git maintenance adoption, no fsck/orphan-ref sweep — the git tier is only 3 ops.
Problem
No tier lists, ages, or triages stashes; only
remove-path.shtouches them, and solely as a refusal guard. User question "does this include stashes?" has answer "no tier touches them" — but also no tier helps with them. Field state: 5 stashes across 3 object stores, 2 self-described as superseded/pre-rebase safety backups (stale pre-776 topic drafts (superseded by origin/main),codex-safety-before-main-rebase-…), invisible to every existing action.Fix direction
New
stashaudit action: per-stash age, source branch, diffstat, associated-PR-merged check where derivable, keep/drop prompt per stash (never auto-drop). Dedupe by--git-common-dir— linked worktrees share the stash ref. Related metadata gaps worth folding in or splitting: no reflog expiry, nogit maintenanceadoption, no fsck/orphan-ref sweep — thegittier is only 3 ops.