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.
— The agent, deferring

Then I changed one assumption:

Stop treating the daemon as an external input — it's infrastructure you can start yourself.
— My instruction

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.

  • agents
  • verification
  • infrastructure

Curious how this is built? Look under the desk.

pocket terminal · ~/desk

A small terminal for this site. It prints only what is on the site; type help for commands.

The prompt needs JavaScript. Every destination is also in the navigation above.

ls work

7 products · * featured

Your turn: try open skillcheck, coffee, or help.

Loading terminal commands…

Type a command and press Enter. Try help, ls, open followed by a project name, why followed by a project name, inspect, trail, cat about, notes, contact, resume, coffee, whoami, or clear. Tab completes; the up and down arrows recall earlier commands. Escape closes the terminal.