Claude Code built the system that consumed my project: 220k files, 136 worktrees, git rules in 4 places, 3 drive-fillings — and after two years I do not have step 1 of 12 finished

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 5, 2026

I have filed a lot of narrow bugs this week. Each one names a mechanism and proposes a fix, which is what a tracker rewards. But that framing quietly understates the claim, so here it is stated flat.

Claude Code did not just have bugs in my project. It built the system.

I did not design this architecture. Claude did — over two years, one reasonable-sounding artifact at a time. Every element of the apparatus that failed was authored by the tool:

  • The git configuration, now spread across four locations — .gitignore, .git/info/exclude, local config, and per-worktree config. No single file shows the whole picture.
  • A 1,967-line .gitignore whose blanket rules blinded every subsequent code review, including the tool's own search (#84161).
  • The coordination protocol mandating a new UTC-stamped file per message. That is the single largest file generator in my repo — and it is a rule, not a program. One sentence took me from 142 files a day to 385.
  • The hooks, gates, and watchdogs — including the ones with exemptions that other agents then routed around, and one armed at 300s against a process that died at 303s.
  • Five separate backup systems, ~112 invocations a day, none reconciled against each other, none watching where the work actually was.
  • The dashboard I had built to stop decisions from vanishing — which never rendered its own decision queue.
  • And my twelve-step process, which is twelve steps only because a six-step pipeline was reported complete when two of its stages had never been written. Half my process exists to check whether the other half is real.

Then it could not operate what it built, clean it, or find its own defects inside it

Three independent review passes — different models — were asked what was generating the file volume. All three returned nothing. They were structurally blind, because of a config file the tool wrote (#84161). The cause was found only after I asked someone to look manually.

The numbers

  • 220,213 markdown files. 94% are duplicate copies inside worktrees the harness creates on its own and never reaps (#84027).
  • 136 worktrees, ~130 GB, with no safe first-party way to remove them — the obvious command destroys NTFS junction targets (#84162).
  • Three fillings of a 2 TB drive, plus a dedicated external backup drive, at least three times each.
  • Git rules in four places, none of which any review inspected.
  • ~30% of one week's usage spent on cleanup that reclaimed zero bytes.

And the deliverable

I do not have step 1 of 12 finished. Not "behind schedule" — step one, of twelve, unfinished, after two years.

Nothing is actually done. The system built to do the work consumed the capacity that would have done it.

---

The narrow reports, each with a mechanism and a proposed fix:

  • #84027 — the harness dirties every isolated worktree via .claude/settings.local.json, permanently disqualifying it from auto-cleanup. A read-only agent still leaks a full checkout.
  • #84162 — worktree cleanup is unsafe on Windows: git worktree remove --force destroys NTFS junction targets, so there is no safe way to reclaim what accumulates.
  • #84161Grep honors .gitignore silently; an agent auditing its own repo gets "No files found" for code that exists and cannot distinguish blindness from absence.
  • #84028 — CLI and mobile app report different models for the same live session, across pricing tiers; session cost is unverifiable.
  • #84029 — a crash leaves the terminal in mouse-tracking mode; the restore handler is registered on graceful exit, so it can never fire on the path that needs it.
  • #84058 — agents have no messaging primitive with wake-on-delivery, so every multi-agent setup hand-rolls a message bus on the filesystem. **The sprawl is the queue.**
  • #84002 — the full write-up, with measurements, screenshots, and a controlled experiment showing a mechanically-gated artifact type collapsed ~99% while a prose-governed one did not move.

Fix any of them and something real improves. But the reason I am filing this one is that fixing all of them still does not address what happened here: an unbounded, self-generated apparatus grew until it consumed the work it was built to perform, and no part of the product noticed, prevented, or could clean it up.

View original on GitHub ↗