When I started building my first harness around a coding agent, I did not picture an onion. I pictured a constraint system. The LLM, on its own, can do almost anything. It can write code, hallucinate APIs, edit the wrong file, run a shell command in a directory it should not be in, decide a test failure is acceptable and move on. The space of things it might do on any given turn is enormous. The job of the harness, the way I thought about it, was to shrink that space. That is the framing I learn

Onions and Filters
Ian Johnson
