Retire finished work and maintain its shared store
Keep active work
One maintenance owner
Packing alone is insufficient
Safe retirement · coordinated maintenance · efficient readers
Visual storyboard and complete narration. Timing estimates await a voice take.
As agentic software development becomes more common, it puts new pressure on familiar tools like Git. Agents leave branches, checkouts and intermediate history behind. Without regular retirement, that state can consume disk and make cleanup compete with the next task for machine time.
In one reported Assay incident, five cleanup sweeps each consumed CPU for eight to twelve minutes. They ran at once against about six hundred and fifty-seven worktrees. Repeated history reads and overlapping sweeps delayed new work. Those timings describe that incident.
Here is how finished work stays around. An agent fixes a CSV export with commits C, D and E. A review worktree, another checkout sharing the history, points to E. Squashing puts the accepted change into S on main. The task branch and review checkout still retain the original commits.
Now remove the finished task branch. Its name disappears. The review checkout still points to E, so Git must keep the history it needs. Deleting a branch name does not mean deleting the commits behind it.
After the review evidence is saved and the session has ended, the checkout may be retired. But a reflog, Git’s local record of earlier positions, can keep those commits recoverable. That recovery window is useful when cleanup was a mistake.
Removing both visible holders does not immediately free the stored history. When no other retention source needs it, and normal expiry permits it, garbage collection can reclaim unneeded commits and file contents. Main’s accepted change stays.
Retire finished branches and checkouts once their work and evidence are safe. Then maintain the shared Git store, with one owner for the job. Packing organizes storage, but tools that repeatedly read the same history also need their own fixes.
Assay’s desk tools allocate tasks, prepare worktrees and report cleanup candidates with reasons for keeping them. They put ownership and retirement into the workflow. Check your installed version: merged fixes and work under review are not automatically available there.
Time repository setup and cleanup, and count branches, worktrees and stored objects. Follow one merged task to find what still retains it. Assign an owner and retirement condition, then inspect the cleanup plan. Measure again to see whether old work is still delaying new tasks.