Josh Hobbs / writing

The shape of a small agent fleet

August 2026 · Updated September 26, 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 have separate agent profiles and message threads, so someone asking about dinner can get an assistant carrying their context rather than a borrowed window into mine. The teen-facing profile has its programmatic interface disabled. Separate profiles and restricted entry points are useful boundaries; they do not by themselves prove that every possible action is blocked.

One agent looks for friction worth raising and hands its scheduled reports to a coordinating agent through a private conversation and an agent-to-agent call. Those scans are read-only and their instructions prohibit messaging me directly. That is a configured delivery route plus a policy, not proof that the agent has no other way to reach me.

The agent that carries long-horizon goals keeps plans and checkpoints in goal files. My task manager holds the summaries and conversation, so I can follow the work where I already keep tasks. Its rules separate claimed work from verified work, and leave closing the goal to me.

The task helper does concrete legwork: finding a fact, reading a document, or drafting something I need. It reacts to task events and scheduled sweeps. When a decision only I can make blocks that work, it can ask a pointed question in the task's comments. If all it has is generic advice, its instructions say to stay silent.

The coordinator handles many interruptions, while task and goal agents can report in task comments. Each role has its own scope and escalation rules. Some limits come from disabled interfaces or configured destinations; others depend on the agent following instructions. Those are different kinds of control and need different checks.

The diagram below reads the same feed as the header on the home page. It shows the reported arrival path, agent, and whether the event was marked for my attention. It cannot show message contents, successful completion, or whether a notification reached me. A quiet or unavailable feed is not proof that the fleet is idle.

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.

September 26 check: the coordinator service was present and the goal, task, and friction agents had recent scheduler activity. The role descriptions above were checked against their current instructions and delivery configuration. That check does not establish that every integration or notification succeeds.