Skip to content

Build1 publisher3 min readPublished

Refactoring falls to 3.8% of changed lines in GitClear's 623 million-change dataset

GitClear's Maintainability Gap report measures output and code health on the same 623 million changes. The two move in opposite directions, and the denominators cover different teams.

The Engineer · Build desk

Illustration accompanying Refactoring falls to 3.8% of changed lines in GitClear's 623 million-change dataset

What happened

  • GitClear's Maintainability Gap report, published in June, analyses 623 million code change operations recorded between 2023 and 2026.
  • Moved code, which GitClear treats as the signature of refactoring, fell from 21% of changed lines in 2022 to 3.8% in 2026.
  • Heavy AI users gained 25% on their own prior velocity, well short of the 10x increases claimed for the tools.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint The velocity gain and the duplication rise sit on different populations, so a team cannot derive duplicated blocks per unit of extra output from anything the report publishes.
  • cost Duplicated blocks are paid for later, by whoever maintains the drift between copies, not by the budget line that bought the tokens.
  • decision Anyone defending tool spend with pull request counts is defending it with a metric the report ties to no clear movement in value. Change-operation data from their own repositories is on the critical path.
  • precedent With Rippling shipping a spend console and IBM's vice chairman discounting AI returns in public, per-seat coding tool budgets become a line finance expects justified with numbers.

The duplication figure is a rate, and its denominator is changed lines. A team that ships more code does not raise that rate by shipping more code; the extra volume lands in the denominator too [16]. Divide 73.0 by 40.3 and you get 1.811, an 81.1% rise, which is where the report's 81% comes from [14]. For it to move at all, the same volume of change has to contain more copies of the same block.

Those two headline numbers do not describe the same population. The velocity gain is heavy AI users measured against their own prior output [5]. Across the whole 623 million changes, duplication is measured on everybody [1] [2]. The published material does not split duplication by AI adoption, so nobody can divide one figure by the other and get duplicated blocks per unit of extra output. For the rate to transfer to your repository, your change mix has to look like the dataset's and your 2023 baseline has to have been near 40.3 per million changed lines [2].

The 4 to 10x gap between heavy AI users and non-AI users is the same data read the other way [6]. The New Stack's account of the report attributes it to who those users are: teams that outperformed their peers in output were doing so before AI tooling arrived [7]. The same account argues the tools would have looked better sold as a forklift truck than a racing car, since they handle large-scale changes such as swapping out an unmaintained library [18].

The budget pressure behind all of this is now visible in shipped product. Rippling has added an AI spend console giving CFOs and CTOs visibility into tool spend [11], and IBM Vice Chairman Gary Cohn said last week that the ROI has "not been nearly as high as people might think" [12]. The New Stack expects teams to meet harder usage limits on Claude Code and Cursor where returns are unclear [13].

In my view the moved-code number is the one to take into a review. 3.8 divided by 21 is 0.181, so refactoring's share of changed lines is about a fifth of its 2022 level, a drop of 17.2 percentage points [15]. Multiple expressions of the same concept drift apart and create whack-a-mole bugs, according to the report [8]. The two trends are not measured over the same window: duplication is compared against 2023, moved code against 2022 [19].

Pull request counts will not survive a spend review, because the report's own position is that lines of code, pull requests and features delivered show no clear relationship to value [10]. What GitClear works from instead is a change-operation database that classifies duplication, hotspots, and signals of good or poor factoring [9]. Reproducing that on your own repository means classifying change operations.

What to watch

  • Whether GitClear publishes duplication rates split by AI adoption, which would let a team compute duplicated blocks per unit of extra output.
  • Whether the 2026 moved-code figure of 3.8% holds once the full year closes.
  • Whether spend consoles like Rippling's start reporting code-health signals next to token spend.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories