In one real release of a widely-used project, 80.1% of all measured churn came from a single file no developer edits. The churn figure a manager read was, four parts in five, the output of a dependency resolver.
A modern repository is not only source code. It carries machine-generated content — dependency lockfiles (package-lock.json, yarn.lock, Cargo.lock, go.sum), minified bundles, code-generator output — that gets regenerated rather than edited, in bulk. Conventional churn measurement counts that mechanical rewriting identically to hand-written work, and the resulting number quietly stops describing what your team did.
The public npm/cli release v10.9.0 → v11.0.0, measured at statement level: 6,134 logical statements churned, of which 4,916 — 80.1% — came from package-lock.json alone, one generated file outweighing the other 144 changed files four to one. The developers' actual work — TRUE_CHURN — was 1,218 statements. Both numbers are correct. Only one answers the question a manager is asking: where is the team's effort and risk actually concentrated?
Generated content is classified deterministically, by named rules — every classified file is listed in the output alongside the rule that matched it, so the split is auditable rather than taken on faith. Nothing is deleted or hidden: the report shows total churn and authored churn side by side, with the generated share subtotalled. If you disagree with a classification, the evidence to argue with is right there. (This matters for the AI question too: a per-file generated/authored classification is the honest foundation under any claim about how much of a codebase is machine-made.)
CodeDelta reports TRUE_CHURN beside total churn on every scan — CLI, GitHub Action on each pull request (the PR comment states how much of the diff came from generated files), or scheduled baseline runs. Measure your last release both ways; if your lockfile churns like npm's, the two numbers will not be close. The paper publishes the commit pair so you can re-run the headline measurement yourself.