Four located seams, ~53GB reclaimable on your word today, and the wiring that means you never think about disk space again.
Jump by type: Your three calls · Reap table · Honest risks · The math · How every delete gets courted
/private/tmp root clones (~43GB) are minted by sealed-run workers' own ad-hoc bash, violating their brief law ("never touch anything outside RUN_DIR"); one clone was forensically matched to a specific run's execution window via the ledger. (b) The 08-27 "bootstrap the leases" ruling ran as a one-time backfill (75 leases) and was never wired into creation — 50 of 71 worktree dirs today are lease-less; the worktree pool is mode: report in the janitor's runtime config ("no delete path exists for it in this build"). (c) NEURON_SPILL_ROOT/FLEET_RUN_ROOT: ~30 readers, zero writers — every reader falls back to a hardcoded internal path; Fleet-Scratch holds 804KB of filesystem bookkeeping. (d) The GC alarm's three trigger conditions are all "janitor broke" — a healthy janitor losing the race writes status=ok forever; it has never fired. Canonical detail: DISK-LOOP-CLOSURE-2026-08-28.md §Seams 1–4.
holder: lease-bootstrap-20260827, expired 2026-08-28T05:05): courtA-131, courtC-pageid ×2, forms-bay-courtC, p0-worker-deploy, plane-tools-anchor, w1-contracts-cure (2.5G), w2-p0-court, w3-canon, w3-fast, w5-guard-court + 8 small. Delete-time recheck per path: open-handles probe + registration grep + lease re-read. Receipts append to a reap log in the disk-plan folder.
bay/reap-at-completion-r3 in ~/genome-fleet/warp, 2 commits, built 08-26 22:22, ledger outcome SUCCESS, pushed_to_origin: false (a branch-shape rule refused the direct push; it ships via PR). Wiring lands in the sealed-run harvest path so the run dir is swept when the terminal ledger row + banked report + harvested branch all exist — the same predicate the ratified sweeper computes today. The worker-side guard blocks git clone/git init targets outside the run dir at the sandbox level, so the brief law gets teeth instead of trust.
LEASE.json with expires_at at birth or within one tick. The worktree pool flips report→reap ONLY after the lease layer passes its own planted-victim court — the 08-26 court explicitly warned this flip is one config word, which is why the court comes first. (2) Registry call sites land in the shared scratch-minting helpers, not in 2,816 call sites individually. (3) unregisteredPolicy: keep → tmpfiles after the grace period, per the janitor's own counterfactual (88,681 dirs / 5.1GB). (4) The new temp-root zone's done-proof: owner provably dead + ≥6h age floor + zero open handles + registration grep clean — ships report-only, arms after court. (5) The 5GB floor becomes a delete-time circuit breaker inside the reap loop (today it's only a config-shape check). (6) Box backlog by literal root: the signed 08-26 box row names box:/tmp/engine-bay-runs, which dry-runs EMPTY (warp desk receipts, 08-28) while the real debris lives at /home/exedev/warp-box-runs — the literal path binds, so the warp desk correctly reported instead of sweeping; the new row extends the same instrument + predicate + any-doubt=keep to that root. New box runs self-reap at completion since bay 0.6.178, so this clears history, not a growing pile.