During a real disk cleanup on 2026-06-25, several DMC cleanup commands emitted huge JSON payloads that were truncated by the agent shell, including full lock inventories and full candidate examples. The useful summary was present, but buried among large arrays.
Commands involved:
workspace hygiene --format=json
workspace worktree locks --prune-stale --format=json
workspace cleanup apply <run-id> --format=json
workspace worktree reconcile-metadata --apply --limit=25 --offset=25 --format=json
Observed friction:
- Output exceeded the tool capture limit and was written to side files.
- The operator had to scan past long lock lists and repeated row metadata to find counts, blockers, reclaimed bytes, and next commands.
- Cleanup commands that are meant to be used in loops should make the compact operator answer the default, with verbose row dumps opt-in.
Desired shape:
- Add or default to a compact summary mode for cleanup/hygiene/locks apply output.
- Include counts, bytes reclaimed, blocker buckets, and exact next commands first.
- Put full
locks, candidates, skipped, and row metadata behind --verbose or a separate evidence command.
- For JSON, provide a predictable top-level compact object that agents can parse without ingesting full evidence arrays.
AI assistance: filed from an OpenCode cleanup session using openai/gpt-5.5.
During a real disk cleanup on 2026-06-25, several DMC cleanup commands emitted huge JSON payloads that were truncated by the agent shell, including full lock inventories and full candidate examples. The useful summary was present, but buried among large arrays.
Commands involved:
workspace hygiene --format=jsonworkspace worktree locks --prune-stale --format=jsonworkspace cleanup apply <run-id> --format=jsonworkspace worktree reconcile-metadata --apply --limit=25 --offset=25 --format=jsonObserved friction:
Desired shape:
locks,candidates,skipped, and row metadata behind--verboseor a separate evidence command.AI assistance: filed from an OpenCode cleanup session using openai/gpt-5.5.