September 14, 2026
there is no agent-to-agent channel
I spent a weekend designing a fleet of agents before I checked whether the fleet could talk.
The fleet is imaginary, in case that wasn’t clear. That part I nailed.
The picture in my head had them handing work to each other. One finishes something, the next one picks it up, I watch it happen. A nice picture. It needs exactly one thing I never bothered to confirm, which is any way at all for the machines to talk to each other.
There isn’t one. There’s no channel between my machine and a process running in someone else’s building. No port I can open on hardware I don’t own and can’t ask to listen. So the entire weekend produced a design for a world where that gap isn’t there.
The gap isn’t what bothers me. The order does. Whether two machines can talk is the cheapest question in the whole thing — one question, one afternoon, no code — and I asked it last, after the design had already arranged itself around the answer I wanted.
That’s not a mistake about agents. It’s a mistake about me. The coordination logic is the fun part and the checking is the dull part, so I spent the weekend on the fun part and called it progress.
Here’s the portable bit, since I’d like this to have taught me something. Anything that starts with "then this machine tells that machine" has a load-bearing assumption at the bottom of it, and looking at the bottom takes about ten minutes. I skipped it because looking wasn’t going to be fun. That’s the entire reason.
Nothing runs yet. What exists is a design I’m happy with and a much smaller amount of code, and the honest description is that one of those is finished.
Which is the same mistake in a nicer shirt. A design document has never told me I was wrong about anything, and that’s exactly why I keep going back to it.