When code gets cheap, understanding becomes expensive.
AI can turn a description into working software in minutes. That does not make the surrounding engineering problems disappear. It moves them. When generation stops being the bottleneck, the scarce work becomes everything that was always harder to automate: stating intent precisely, supplying context, reviewing what came back, verifying that it is safe, integrating it, and deciding when an answer should not be trusted.
The Code Is Lying follows a team of engineers at Meridian through that shift. It begins with a ticket an agent closes in four minutes and a pull request nobody really read. From there, the team encounters a requirement that quietly becomes code, an eval suite that keeps reporting green while their understanding of the system grows thinner, a security review triggered by what an agent is allowed to do, a production incident, an audit, and eventually the second year of working this way-when the novelty has worn off and the practice has to actually hold.
The argument is simple: generation is not the same thing as understanding.
A faster way to produce code does not remove the need to know what the code means, how the system behaves, or when to stop.
This is a practical book about what changes when software becomes easier to generate but harder to reason about. Each chapter ends with field notes: specific habits, checks, and team rules the engineers adopt in response to what went wrong.
Specify purpose completely and leave the solution open. Treat verification as part of the product, not overhead around it. Keep changes small, because a smaller diff is one a human can still understand. Remember that a green build is evidence, not proof. Accountability does not transfer to a tool. And treat every increase in what an agent can read, write, run, or deploy as a security decision.
Written for engineers, tech leads, architects, and engineering managers already working with coding agents, The Code Is Lying is for people who have to live with the output-not just generate it.
The goal is not less automation.
It is better engineering around automation.