Skip to content

Workspace cleanup outputs are too large for operator loops by default #801

Description

@chubes4

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions