Justy: Exploring Next, episode 337. There's a thread going around that basically says every agent framework argument you've ever heard is arguing about the wrong thing — and honestly, after reading it, I think that's right. Cody: The frame most teams are stuck in is: agent on top, backend below, harness in between. The debate is just how thick that harness should be. LangChain, CrewAI, Anthropic's tooling — they're all in that conversation. This thread says the conversation itself is the mistake. Justy: And there's actual math behind it. One agent talking to five services gives you five paths to debug. Four agents, same five services — eighty paths. Stochastic ones. Cody: N squared times M. And what most teams ship makes it worse: agent fires an HTTP request, triggers a queue publish, writes to a database. Three separate retry schedules, no shared trace. You're debugging by correlating timestamps across systems with different log formats. Justy: That's not a future problem — that's what production agent bills look like right now. Cody: So the argument is: make everything — agents, queues, sandboxes — participants in the same execution model. Three primitives do it. Worker, any process that connects. Function, a unit of work with a stable ID. And Trigger, what causes that function to run — HTTP, cron, queue, state change. Live discovery means any connecting worker gets the full current catalog of every function on every other worker. No stale tool descriptions. That's been a real source of silent failures. Justy: The recursion example in the thread is wild — an agent worker spawning a sandbox worker mid-task, hardware-isolated, it registers its own functions, joins the live catalog, gets torn down when it's done. The agent extended itself with a capability that didn't exist when it started. Cody: Same primitive the whole way down. The thread draws the analogy to everything-is-a-file in Unix, or components-as-functions in React. I think that's a bit aspirational — those took years to actually feel inevitable — but the shape is right. The proof will be whether the single-trace story actually holds across language boundaries at scale. Justy: For Build Next — if you want to poke at this, look at Inngest. Register one agent as a worker, wire a couple functions with triggers, and just watch the trace. Solo builders can do that in an afternoon. If you want to go further, try spawning a sandbox worker from inside an agent call and see the catalog update live. Justy: That's 337. If the harness debate has been bugging you, this thread is worth the full read. See you next time.