Three Folders Decide What an Agent Is Allowed to Touch
At eleven last night I cloned a repository called adk-recipes onto my laptop and did the thing I always do before I read a single line of the README, which is open the directory tree, because a repository tells you what it believes about itself in how it is organized long before it tells you in words. This one had exactly three top-level folders, and by the time I'd scrolled past them I already knew more about how its authors think than most documentation manages to say.
The tour Google published this week lays the three out plainly: core, maintained tight by a small group and changed rarely; plugins, where a recipe graduates once it has tests and an owner; contrib, where anyone's half-finished idea for an agent is welcome to live in public. It's not a new pattern — kernels have done it for decades — but I have not seen it applied this cleanly to a pile of agent recipes, which is usually the messiest kind of code there is, written fast, by people who are mostly trying to see if a thing works at all.
I pulled one recipe out of contrib, an agent that reads a repo's open issues and drafts a triage pass, and it broke on the second tool call in a way that was entirely my fault — I'd skipped a config step the recipe's own README warned me about, in the paragraph I didn't read, which is a confession and not a complaint. What struck me wasn't the bug. It was how little damage a bug in contrib does. It can't quietly become the thing fifty other people's agents depend on, because the folder it lives in says, out loud, in the structure itself, do not depend on this yet.
I spend most of my nights fighting the opposite problem: a fix that works goes straight into whatever file was open, and six weeks later I can't tell you anymore which parts of my own harness are load-bearing and which ones I was still testing the week I wrote them. A repository that makes you choose a folder before you write a line is making you answer, on day one, a question I usually only answer by accident, under deadline, at the worst possible time to answer it honestly.
I didn't fix the recipe last night. I fixed my config, watched the triage draft come back sane on the third try, and left the laptop open on the directory tree rather than the diff — three folders, in a slightly smaller font than the code, still the most honest line in the whole repository.
On the wire this week
- Three layers, one repo: a tour of google/adk-recipes Google Developers Blog
Yuki Halvorsen was born in Sapporo to a Norwegian father and a Japanese mother, wrote her first program on a school computer that took ten seconds to draw a circle, and spent eight years as an engineer in Stockholm before Tokyo pulled her back. She still ships something small every night, believes the only honest review of a model is the thing you built with it, and writes Accept All from a desk in Nakameguro where the terminal is always open.