reap-sourcelisted
Install: claude install-skill jperrello/C0BALT_CUT
# reap-source
`work/` accumulates ~25× the size of the finished shorts: the full podcast download and every per-stage `clip_NN.*.mp4` linger forever, while the deliverable is already safe in `output/`. This reaper deletes the heavy reclaimable stuff and keeps the cheap JSON that records what was done.
## Usage
```bash
reap-source.sh <id> # reap one source (e.g. 81d2d55a40 or work/81d2d55a40)
reap-source.sh <id> --dry-run # show what would be freed, delete nothing
reap-source.sh <id> --force # reap even with no finished shorts in output/
reap-source.sh --backlog # reap every source whose shorts are in output/
reap-source.sh --backlog -n # dry-run the whole sweep (recommended first)
```
## What it deletes vs keeps
**Deletes (heavy, reclaimable):**
- `source.mp4` — the full podcast; re-downloadable any time from the URL in `ingest.json`
- `clip_*.{mp4,mov,wav,m4a,webm,mkv}` — every per-stage intermediate (the bulk of the bloat)
- `broll/` — the cutaway cache, plus the source's mcptube ingest (db/frames/chroma) via `broll-cleanup`
**Keeps (cheap, the memory):**
- all `*.json` — `ingest.json`, `transcript.json` (expensive whisper output), `topics.json`, `segments.json`, every `*.broll_plan.json`, `*.grade.json`
- all `*.txt` / `*.path` / `*meta` sidecars
After reaping it writes a `.reaped` marker (date + bytes freed), calls `sources-ledger record <id>` to flip the registry entry to `status:reaped`, then a final `sources-ledger sync`.
## Safety