Josh Hobbs / writing
The shape of a small agent fleet
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.
| arrives as | what that means |
|---|---|
| webhook | Something outside the fleet posts in and an agent picks it up. |
| cron | A scheduled run, whether or not there is anything to say. |
| timer | A repeating interval inside an agent that stays running. |
| poll | An agent went looking on its own and found something. |
| github | A repository changed, which is its own kind of arrival. |
| other | An 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.