Across teams I work with, I keep seeing the same pattern with developers entering the market: the AI spend grows month over month — $30, then $100, then $500 — and the code keeps flowing. The number that stays with me isn’t the bill, though. It’s the acceptance rate, sitting at nearly 100%. Everything the model suggests gets shipped.

Acceptance rate doesn’t measure thinking — it only shows accepted versus rejected. But it hints at it. An experienced engineer, or simply one with critical thinking, might keep half of what the model offers and rewrite the rest, or accept the periphery and keep the core logic for themselves. The rejections are the engineering.

A more useful metric would be acceptance rate paired with thinking time — how long a suggestion sits under review before it gets accepted.

It’s not “using AI more and more”, it’s the monthly cost of replacing judgment with tokens. Judgment compounds — every rejected suggestion teaches you something. Tokens don’t. So the question worth asking after a year of $$$ spendings: what do you own? If the answer is a codebase nobody has a mental model of, you’ve been paying to accumulate liability.

If a software real value lives in someone’s head, and code no human has a theory of, is legacy code from day one. Unread AI output is born legacy.

Frameworks soften this more than we admit.

Conventions from frameworks like Django or Laravel keep a codebase maintainable almost by themselves — the architecture and structure are already there, so the AI doesn't get to reinvent much. Generated code lands in well-worn grooves: a model, a migration, a view. Wrong code in a conventional shape is findable.

But conventions end where the business begins. Pricing rules, approval workflows, the gnarly domain logic that makes the product the product — no convention exists there. That’s exactly where born legacy is most critical, and exactly where suggestions get accepted as readily as boilerplate.

The more we deliver, the faster scope grows — every shipped feature invites the next one. And maintaining all of that software will require the same judgment, at any price.

This isn’t an argument against AI; I use it daily. It’s an argument for balance: use the model for research and explanation as much as for generation. Always question, never accept blindly. Be skeptical, never accept what the model suggests without your own reasoning.