Josh Hobbs / writing

The shape of a small agent fleet

August 2026

Keeping on top of a house's routine chores and small emergencies takes more attention than one person has to give. A fleet of agents runs on hardware in my house and manages ordinary parts of my life instead.

The people closest to me don't text my agent. They text their own. Each has a separate persona with its own message thread, so someone asking about dinner gets an assistant carrying their context rather than a borrowed window into mine. The one facing the teenager in the house is the most locked-down thing I run: its programmatic interface isn't merely unused, it is switched off, so the thread it answers on is the only way in.

One agent is not allowed to contact me at all. Its entire job is to nudge the agent that is — it goes looking for things worth raising, writes them into a private room the two of them share, and stops there. Trust here is architecture rather than policy: it has no path to me even on a day it decides it wants one.

The agent that carries long-horizon goals has no interface of its own. Its entire surface is a project in my task manager called Goals — you write a goal where you already write tasks, and it works against that, with no dashboard and nothing extra to keep open. When it hits something outside its depth it calls another agent synchronously, the way it would call a model, and uses the answer — so the fleet has an internal escalation path, not just a task list.

One agent automates nothing. Its whole job is to notice the task I have rescheduled five times and say something about it — not do it, not reschedule it again, just ask why the thing is still there. That question has turned out to be worth more than another completed checkbox.

Everything reaches me through one agent. It holds the channel — the others do not message me directly, they hand off to the one that is allowed to, and that agent decides whether the moment is worth an interruption. Each agent's trust level settles the rest: what it may do unsupervised, and what it has to escalate instead of acting on. Trust is granted per agent and enforced by what that agent is wired to reach, not by asking it politely.

The diagram below reads the same feed as the header on the home page — the same endpoint, a different drawing. It shows which path an arrival came in on, of the six named below, which agent it reached, and whether that agent decided the moment was worth reaching me for. It isn't told, and can't show, what any of them were actually about.

A path or agent lights up the first time it carries an arrival after this page loads, and stays lit from then on — it does not fade, and it is not a live pulse. An unlit one has simply carried nothing yet while you've been watching; it still exists.
arrives aswhat that means
webhookSomething outside the fleet posts in and an agent picks it up.
cronA scheduled run, whether or not there is anything to say.
timerA repeating interval inside an agent that stays running.
pollAn agent went looking on its own and found something.
githubA repository changed, which is its own kind of arrival.
otherAn arrival this drawing does not have a name for yet.

What's actually running right now: a small fleet of agents, each with a narrow job, mostly quiet, and occasionally texting me because one of them decided something was worth the interruption.