A clean build is a compile check, not proof
Lesson 1 of six in Claude Code Field Notes: Running AI Coding Agents in Production, drawn from operating more than twenty live software surfaces with Claude Code.
A wallet-connect refactor passed build, type-check, and lint. It merged and deployed under standing autonomy. Then it broke a live button on six marketing pages with a client-side exception the instant anyone clicked it.
Nothing in the pipeline was wrong. The pipeline answers "does this compile and typecheck," and the question that mattered was "does the button still work." Those are different questions and only one of them was being asked.
The rule that came out of it: verify the artifact you shipped, by doing the thing a user does. For an interactive change that means clicking it on the live domain, in a clean browser context, after the deploy lands. It cost ten minutes to catch and revert. It would have cost nothing to prevent.
Two corollaries worth adopting:
- Verify the committed state, not your working tree. A passing test against uncommitted local files proves nothing about what you pushed.
- Verify against the live URL, not the build log. A green deploy and a working page are different claims.