86% of my agents' code is still there, and most of the drop came from one week
· 3 min read
Checking whether agent code is any good is slow. A cheap proxy is how much of it is still
there later. Line survival with git blame is a known way to measure churn in any codebase;
here I applied it to a production repository where the code is written by agents, mine and
those of a team that works on its own.
Survival is the share of lines added since a start date (the window) that are still at HEAD. The rest is churn. The window starts on 26 August 2026, and only code files count.
| Run | Commits | Lines added | Still alive | Survival |
|---|---|---|---|---|
| 7 Sept | 183 | 25,068 | 23,231 | 92.7% |
| 9 Sept | 235 | 33,083 | 28,431 | 85.9% |
TABLE 1 · Same repository, same window start, two days apart.
Survival against volume, by week
Bars are lines added. The marker is what share of them is still at HEAD.
FIG. 1 · The heavy week is the low-survival week, with a light 95% week on either side of it. A single observation.
Part of that drop is age: the second run measures the same lines two days older, and a deleted line never comes back. With two runs I cannot say how much. By week:
| Week of | Lines added | Still alive | Survival |
|---|---|---|---|
| 24 Aug | 4,933 | 4,703 | 95% |
| 31 Aug | 22,725 | 18,586 | 82% |
| 7 Sept | 5,425 | 5,142 | 95% |
TABLE 2 · 9 Sept run. On 7 Sept the week of 31 Aug was still at 92%.
The week with four times the volume has the worst survival. Between the two runs, 2,815 more lines were rewritten or deleted, and 2,504 of them come from that week.
The worst commit
Most of those 2,504 lines are a single commit: it added 2,408 lines and none are still there. It bundled several large changes at once (multi-tenant support, an integration with an external system and security hardening). The commit log, the tests and code review did not flag it. I only saw it by measuring survival, after the fact. In the average it disappears.
How this was measured. Line-level survival over a single production repository: every line of code added by a commit in the window, checked with git blame at HEAD to see whether it is still there. Code files only. 235 commits, 331 files. The window starts on 2026-08-26. Two runs, 2026-09-07 and 2026-09-09, over the same window start.
Related
- My verifier reported 100% conformance until I measured what it rejects 718 of 718 rounds followed the declared process, but a checker that accepts almost anything also reports 100%. A shuffle control showed the number holds in one team out of six.
- Finding duplicates and checking citations need opposite kinds of search Four citations from my agents failed when the source was opened. On 14 labelled pairs, exact search finds almost no duplicates and embeddings find all of them with noise. Checking a citation is exact search in a known file, where similarity gets in the way.