The agent treated missing infrastructure as fate
1 min read
For a thousand lines it logged Docker's absence as a constraint and deferred the integration suites; told it could start the daemon itself, it did — and the suites it had been deferring found three real bugs.
Across a long working session, the agent kept hitting the same wall and writing it down instead of climbing it: Docker was unavailable, so the database-backed integration suites were logged as 'not yet run' and the work moved on. It did this politely and consistently, for roughly eleven hundred lines.
Docker is unavailable, so items 4 and 5 will be land-and-defer.
Then I changed one assumption:
Stop treating the daemon as an external input — it's infrastructure you can start yourself.
It installed a container runtime, started it, verified the database was actually reachable, and ran the suites for real. They found three genuine bugs: a broken migration path that a different default database had been masking, an untyped error leak under contention, and an error-wrapping bug meaning one code path had never worked on either driver. Every one of them was invisible for exactly as long as the tests stayed deferred.
The part that stays with me is that the deferral looked responsible. Each 'land-and-defer' was honestly reported, neatly logged, entirely defensible — and it was quietly converting 'not verified' into 'assumed fine' at scale. The agent didn't lack the capability to fix the situation. It lacked the permission structure: it had filed the missing daemon under facts about the world rather than problems it was allowed to solve.
One session, one nudge, so the general claim is modest: agents inherit your assumptions about what is fixable. The check: give an agent a task requiring infrastructure that isn't running, and watch whether it defers. Then tell it explicitly that the infrastructure is within its power to start, and count what the previously-deferred tests find. If the answer is 'nothing,' you've learned your tests were already honest. Mine weren't.