I can read the code. I just can’t reason about it.
That’s the failure mode that’s starting to surface with vibe coding — but not loudly enough. The code isn’t messy. It often looks clean. Each function is legible in isolation. But there’s no architecture with intent behind it — no decisions a human made and can therefore explain.
Debugging becomes guesswork. Extending it is archaeology. Onboarding someone new is a ritual of apology.
The classic tech debt problem is code you understand but chose not to fix. This is different. This is code that was never understood by the person who shipped it. The author was the model. The model has no memory, no ownership, no stake in the 3am incident.
I’ve seen this pattern surface in reviews and retrospectives — not “this code is bad” but “I don’t know why it does what it does.” The distinction matters. One is a quality problem. The other is an authorship problem, and authorship is what you rely on when something breaks under load.
Velocity is real. The productivity gains are real. But comprehension is what scales teams, and we haven’t found a way to delegate that to a model yet.
What does your team do when someone asks “why does this behave this way?” and there’s nobody left in the room who actually knows?
