I use coding agents for most of what I build, which is an uncomfortable position to be in without knowing how one works. So I picked an open-source one, pinned a commit, and read it — not the documentation, the source — until I could answer three questions: how it assembles the context it sends, how its harness actually runs, and what it can do.
The result is 77 notes and 11,344 lines, which is more than anyone including me will read front to back. That is fine; it was never meant to be read linearly. It is meant to be the thing I search when I have a specific question, and the answers in it are anchored to line numbers in a commit that cannot move.
The chapter I am most glad I wrote is the last one, whose only job is to attack the rest. It enumerates what was not covered and says so. It lists every place two sections contradicted each other, and settles each one by opening the code again rather than picking whichever sounded more confident. Research that never argues with itself is just a longer opinion.
The thing I did not expect to take away: how much of an agent’s behaviour is not intelligence at all. It is bookkeeping — what gets kept, what gets dropped, what order things arrive in. The interesting engineering was almost never in the clever part.