The downside of not having a clean codebase is worse than ever x.com
A summary of Dax Raad on why OpenCode’s codebase is cleaner than it has ever been. The argument is that an agent’s performance is a function of three things: its intelligence, your instructions, and its context, which in practice means the codebase itself. You control two of the three.
The specific failure mode is codebases that carry both an old way and a new way of doing something. A person reads the git history and knows which is which. A model sees two patterns with equal authority and picks one. So migrations have to be finished rather than left half-done, which is a discipline most teams have been comfortably bad at for years.
The rest follows from that: domain-driven design matters more because clear boundaries survive being read out of context, and opinionated tools and frameworks help because they narrow what a model can plausibly do. Raad’s blunter framing is that there are now a lot of inexperienced contributors working on your codebase, so the codebase had better be legible.
In a reply, Victor Taelin adds the sharper version: model performance is raw intelligence multiplied by codebase quality, and every time you use AI the codebase gets slightly worse, so models feel like they degrade after launch when what is actually degrading is the code you are pointing them at. Sits next to in defence of not understanding your codebase, which takes the opposite side.