~/blog/guide/ai-quality
AI and code quality
Generation got cheap. Judgement did not. On tests, churn and the bar that stays where it was.
What this guide covers
Generating code now takes seconds. Judging whether that code is correct, fits the system and will hold up costs exactly what it always did. That gap is the subject of this cluster, because nearly every quality problem with AI code turns out to be a variant of it.
I write about this from practice. I use agents daily and they produce real work. Which is precisely why the friction stands out: output grows, review capacity does not, and everything you skip judging comes back later with interest. Speed got cheap, judgement didn't works that out through what large-scale orchestration does to your review.
Tests that prove something
The first reflex is obvious: have the AI write the tests too, and quality takes care of itself. Almost. Coverage only proves a line was executed, never that anyone would notice it being wrong. And a model that makes a reasoning error in the code will cheerfully make the same error again in the test. In AI generates your tests, but does it actually test? I use mutation testing to make that false confidence measurable: sabotage the code and see whether a single test goes red.
What happens to your codebase
Quality reaches past the individual PR. At codebase level, two patterns keep showing up. The first one you can measure: code churn, lines rewritten within two weeks because the first version was never really finished. The second is quieter: the lava layer, code nobody truly understands anymore and therefore nobody dares to touch. Both start at the same moment, when code enters the repo that no one has judged all the way down.
The bar that stays where it was
Which is why this cluster keeps landing on the same standard. Never ship code you don't understand: if you cannot explain a piece of code to a colleague without pointing at the AI, it does not belong in your repo. And keep your reading muscles trained, because you can't spot the bug if you didn't write the code. Debugging instinct is built from thousands of rounds of writing and reading your own work, and it evaporates faster than you expect.
None of these rules are new. They held when code was typed by hand. AI has only made them more urgent, because the volume at which you can break them has exploded. Typing speed used to be a natural cap on how much poorly understood code could land in your repo per week. That brake is gone, and nothing automatic took its place. The replacement has to come from your process, and that is exactly what the posts in this cluster try to provide.
Where this touches the workflow
Quality starts upstream, in how you drive an agent. A proper spec, small steps and review as a fixed gate prevent more misery than any linter. The hinge between those two worlds is the spec you didn't read: letting an agent write your spec is fine, forwarding it unread to a second agent is asking for trouble. The full working method lives in the agentic coding guide, under related topics below.
Below are three starting points, then every post in this cluster, newest first.
Best entry points
- Why you should never ship code you don't understand
The core rule of this whole cluster. If you read one piece, read this.
- The prompt is not the spec
Why a vague intention is not requirements, and what happens when you pretend it is.
- You can't spot the bug if you didn't write the code
What happens to your reading skill when AI takes over the writing.
All articles in this topic
AI writes the tests. Mutation testing checks if they work.
AI-generated tests hit high coverage in seconds, but coverage only proves a line ran. Mutation testing proves the tests would actually catch a bug, and Chaos-MCP puts that loop inside your agent.
Speed got cheap. Judgement didn't.
Claude Code can now spin up a thousand subagents from one prompt. The orchestration is genuinely good engineering. The token bill, and what it does to your reviewing, is the part nobody adds up.
Code churn is the lava you can still measure
AI-assisted teams ship more PRs than ever, but 40% of those lines are rewritten within two weeks. The lava layer is what hardens. Churn is what never gets the chance.
You can't spot the bug if you didn't write the code
AI isn't making you a worse programmer. It's making you a worse reader. On debugging instincts, skill atrophy, and why the biggest gap isn't in writing code but in understanding it.
Your agent's suffering is your technical debt speaking
A joke plugin makes AI agents groan at bad code. The real punchline is what it reveals about the code we write, and the code we let AI write for us.
The prompt is not the spec
Developers are treating AI prompts like requirements documents. They're not. On vague intent, confident hallucinations, and why the wrong thing built fast is still the wrong thing.
The lava layer: why AI code is slowly petrifying your codebase
We’re building faster than ever, but at what cost? Exploring the invisible accumulation of code that no one truly understands and why your application is turning into impenetrable rock.
Why you should never ship code you don't understand
If you can't explain your code to a colleague without saying 'the AI wrote that', it doesn't belong in your repo. On black boxes, self-validating tests, and why hope is not a strategy.