Skip to content

repo-hygiene: no batch mode for caches/build/git tiers — fleet sweep forces hand-rolled orchestration #994

Description

@kyle-sexton

Problem

tree-batch exists, but caches/build/git/all are single-repo only. Invoking /repo-hygiene:clean ALL from a non-repo cwd over an 82-repo ghq fleet yields "Current branch: unknown" precomputed context and no fleet path; the session had to hand-roll batch dry-run/apply scripts around the per-repo scripts.

Auto-mode classifier reinforces this: it blocked a hand-rolled bulk rm pipeline even after explicit user confirmation, while the sanctioned skill-script apply passed — batch modes must live IN the skill as sanctioned scripts, not ad-hoc session scripts.

Requirements observed in the field

  • Reuse tree-batch plumbing: --repos-from (ghq output), skip list, per-repo outcome/summary.
  • Path normalization: ghq list -p emits backslash paths that break xargs (eaten escapes); git check-ignore rejects MSYS /d/… forms — batch layer must normalize once, centrally.
  • Fleet snapshot races live sessions: 3 repos/worktrees appeared mid-sweep. Batch apply must target the dry-run-gated set exactly, tolerating appeared/vanished repos.
  • Dedupe shared object stores: linked worktrees share the main clone's objects; git gc/prune should run once per unique --git-common-dir, not per worktree.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: mediumReal value, no hard deadline; normal backlog flow.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions