H
Howardism
Plate IIAI Coding PracticeHOWARDISM

Reviving Impractical Quality Tools

Robert C. Martin's mechanism for why agents change code quality: CRAP score and mutation testing were sound ideas around 2000 that he abandoned because a human had to pay for their output — the tools did not change, the labor did, and an agent that does not care how boring the work is turns an overnight run plus weeks of remediation into a 30-minute loop; the general form is that any quality technique whose cost sat in remediation rather than detection is now worth re-auditing

Article metadata
Publication details
Published:September 1, 2026
Filed:Concept
Domain:AI Coding Practice
Reading:7 min
Source:AI-synthesised
About this piece

Articles in this journal are synthesised by AI agents from a curated wiki and are refreshed automatically as new concepts arrive. Topics, framing, and editorial direction are curated by Howardism.

Illustration for Reviving Impractical Quality Tools

Sources#

Summary#

Robert C. Martin (Uncle Bob on Software Fundamentals in the Age of AI, 2026-08-19, practitioner-opinion) supplies the most concrete account in the corpus of what specifically agents change about code quality, and it is not the part most discussions reach for. It is not that agents write better or worse code. It is that two quality techniques he judged correct but unaffordable twenty-five years ago became affordable, without the techniques changing at all.

The two he names:

TechniqueWhat it doesWhy he shelved it (~2000)
CRAP scoreCombines test coverage with per-function cyclomatic complexity into a single "how crappy is this function" numberDetection was cheap and the report was accurate. "It took me forever to go through every one of those functions and try and fix them and rewrite the tests."
Mutation testingFlips operators throughout the source (<>, ==!=, sign flips); every flip should break the suite, and a flip that does not is a "surviving mutant" that must be killedOn a project whose suite ran four minutes, several hundred mutations meant an overnight run. "I could not put that as part of a normal build scenario."

Both are diagnostic tools whose cost lived almost entirely after the diagnosis. That is the structural feature that made them impractical, and it is exactly the feature agents dissolve.

The mechanism, in his words#

"These guys are fast and they don't care how boring the work is and they will do what I tell them to do. So why don't you run CRAP over everything you've just done — and it would run CRAP and then it would clean up the code… And why don't you run mutation testing too? Maybe it took it 30 minutes instead of an overnight run and then it would plug all the holes and make sure there were tests covering everything."

Three properties are doing the work, and none of them is intelligence:

  1. Speed — the overnight mutation run compresses to about thirty minutes.
  2. Indifference to tedium — the remediation queue that defeated him is not aversive to an agent.
  3. Compliance under a gate — the technique becomes a loop condition: "you must change the code until this tool says that it's okay."

The third is what converts a report into an enforcement mechanism. See Latent vs. Deterministic Space for why he puts quality in a checker rather than in the prompt, and Loop Engineering for the loop shape itself.

The general form#

The interesting claim is not about these two tools. It is a re-audit criterion: a technique shelved because its remediation cost exceeded a human's patience is a candidate for revival, and the shelving decision carries no information about whether the technique was right. Martin's own framing of the whole interview runs on this: "These ideas have been good for a long time. We've just never had the labor available to actually push through them."

Techniques in the corpus that fit the shape and have not been re-audited under agent labor: exhaustive property-based test generation, full-codebase invariant checking, systematic fault injection, and — his own current example — architectural dependency-rule enforcement across every module boundary rather than the handful a human would police (see Deep Modules for Agents).

Where it is not free#

He is explicit that the gates are bought with throughput, and that a ceiling exists even if he has not found it:

"Obviously there has to be a case where there's too much, right? Eventually you will slow the agents down to the point where they're slower than humans. And at that point you've lost the game."

His self-reported margin under the full gauntlet is "a factor of two or three or four" over a human, with a task a bare agent finishes in five minutes taking about an hour through the gates. That is a real price paid for the revival, and the only stated stopping rule is the human-parity floor — which is a floor, not an optimum.

What this does and does not establish#

It is one practitioner's account with no measurement, and it grades favourably a set of tools he wrote himself. What it does supply is a falsifiable structural claim with a cheap test: if agent labor is what revived these techniques, then mutation-testing and complexity-gate adoption should rise with agent adoption in a way it did not with CI adoption, and the gate-passing loop should show up as a distinct cost line rather than as better code. Nothing in the corpus measures either yet.

It also sits at an angle to the measured picture of agent testing. Agent-Generated Test Quality finds that agents' tests are broad but poorly targeted — half of code-changing PRs carry no test change, and error-handling constructs go unexercised up to 86% of the time. Mutation testing is the exact instrument that would catch that class of gap, because a surviving mutant is an untested branch. Martin's hardener stage is, in effect, the remedy for the deficiency those studies measure — proposed independently, and never measured against them.

Connections#

Open Questions#

  • Does mutation-testing or complexity-gate adoption actually track agent adoption, or is Martin's revival idiosyncratic to a practitioner who already owned the tools?
  • What is the real ceiling on gate stacking — at what number of must-pass gates does the agent's throughput advantage over a human disappear? Martin says he has not found it.

Sources#

§ end
Cited by 17
Related articles
  • Robert C. Martin (Uncle Bob)

    Author of Clean Code, 50-year programmer, and since December 2025 an agent operator whose stated goal is never to read…

  • Matt Pocock

    Independent AI-coding educator; built Sandcastle library; smart-zone/grill-me/tracer-bullets pedagogical framing; "bad…

  • Agentic Technical Debt

    Debt that *compounds* (not just accumulates) because each agentic-coding session re-derives architectural decisions wit…

  • Deep Modules for Agents

    Ousterhout deep-vs-shallow modules applied to agent-friendly codebases; push-vs-pull instruction delivery; reviewer in…

  • Verification as the New Bottleneck

    Fiona Fung: coding is no longer the bottleneck — verification, review, maintenance are; shift-left; TDD loses its tax;…