Weekly (Sunday 04:30 SAST). Broad sweep across both repos — complements the daily cleanup-stale-worktrees task by also covering PKA/.claude/worktrees/ and orphan worktrees that have no matching MC ticket.
Auto-prunes any worktree that is BOTH clean (no uncommitted changes, zero commits ahead of master) AND either has a done/cancelled ticket or has no linked ticket at all. Open tickets (inbox / in_progress / needs_input / in_review) are left alone even when empty — a worker may just not have committed yet. The current working directory is never pruned.
Run in report mode for a survey: python3 ~/workspace/scripts/worktree-reaper.py — prints a table with ticket id, status, age, commits ahead, uncommitted count, size and verdict. Add --json for machine-readable output.
Logs to ~/workspace/logs/worktree-reaper.log — one line per run with scanned/safe/manual/removed/failed counts and MB freed.
Created 2026-04-20 from MC-1050 (follow-up to MC-1037).
/usr/bin/python3 /home/lucienne/workspace/scripts/worktree-reaper.py --prune --quiet
Format: minute hour day month weekday
| Started | Status | Duration | Log |
|---|---|---|---|
| 2h ago | completed | 5s | View log |
| 1d ago | completed | 5s | View log |
| 2d ago | completed | 1s | View log |
| 6d ago | completed | 3s | View log |
Mission Control is the board for your delegated work: requests come in, Luci coordinates the next step, and evidence stays visible for review.
Luci is your always-on assistant for routing, status updates, and follow-through. Operators can still open deeper evidence when needed.