The catalog of condemned self-material — stale branches, git stash
entries, dead code and retired tests that a hygiene / repo_cleanup sweep is
95%-but-not-100% sure is trash. Symmetric to parked.md: parked.md holds work
that is paused and will resume; this file holds material that is spent and
awaiting elimination, recoverable right up until it is voided.
This is the index; the payload is durable git refs, not markdown. Fragile
forms (local unmerged branches, stashes) are first materialised as real commits
and pushed under the archive namespace refs/heads/archive/condemned/<name>
(a branch prefix — GitHub only accepts pushes to refs/heads/* and
refs/tags/*, so a custom refs/archive/* namespace is unpushable; filter with
git branch --list 'archive/condemned/*') into PyAutoGut as the attic remote
— before the local copy is deleted. Recovery is a checkout. The organ (PyAutoGut) holds
and voids; the Brain hygiene conductor drives (decides what to condemn, triggers
a sweep), mirroring the Heart ↔ vitals template. See the decision:
research/pyautobrain/pyautogut_organ_decision.md.
- Condemn — the hygiene
tidypass files an entry here (async, no synchronous per-item gate). Fragile forms are archived to a durable ref first; merged branches and committed deletions need only a SHA recorded. - Transit — the entry sits with a
sweep-afterdate. Until then it is recoverable (reabsorption): restore the branch/stash from its archive ref. - Void — a batch
sweepruns the existingrepo_cleanupsafety gates against entries pastsweep-afterand eliminates them; the entry moves out of this file (to a voided log or is deleted).
One ## block per item. Fields:
type—branch|stash|file|testlocator— the local name/path (e.g.feature/old-thing,stash@{2},src/legacy/foo.py)confidence— how sure it is trash (e.g.0.95)reason— why it is condemnedmerged—yes|no(a merged branch is reachable frommainforever → skips the pen; near-zero risk)condemned— date filed (YYYY-MM-DD)sweep-after— earliest date it may be voided (the transit clock)breaks-if-wrong— what is lost if this was a false positive (informs the gate)archive-ref— the durable ref + SHA to recover from (refs/heads/archive/condemned/<name>@<sha>), orn/afor a merged branch / committed deletion whose bytes live in remote history (record the pre-delete SHA instead)
- Merged branches — reachable from
mainforever;archive-ref: n/a, a note is enough. The conductor recommends these straight to deletion without staging. - Committed code / test deletions — the old bytes live in remote history; record only the pre-delete SHA.
- Local-only unmerged branches / stashes — exist in one machine's reflog and are gc-pruned. These must be materialised as an archive ref before deletion; a manifest that merely points at a stash is worthless the moment it is dropped.