Since February 2026 I have run Ensemble, a personal staff of eleven persona agents living on a single Mac Studio, each owning a narrow lane, all reachable from WhatsApp and Slack, all reporting to one coordinator. Six months is long enough for the novelty to wear off and the operations to start telling the truth. This post is the operating manual I wish I had in February: the patterns that survived production, and the ones that did not.
A coordinator that cannot be talked out of its job
The first coordinator was a prompt that asked the other agents nicely. It worked until the first busy week, when two personas quietly picked up the same task and a third dropped one on the floor. The version that works is structural: the coordinator is the only agent that can assign work, every delegation is a public contract with an owner and a deadline, and the contract lives in a shared log that any agent, or I, can read.
# delegation contract: coordinator -> researcher
task: weekly-agent-safety-digest
owner: researcher
due: 2026-07-12T18:00-07:00
freshness: 24h # older than this = stale, reassign
handback: digest.md # an artifact, not a chat message
approval: none # read-only work skips the human gate
Almost nothing that failed in six months failed for lack of intelligence. It failed for lack of accountability: work that had no owner, artifacts that had no deadline, agents that went quiet without anyone noticing. The contracts are boring on purpose. Boring is what lets me sleep.
Three kinds of contract hold the system together:
| Contract | What it promises | On violation |
|---|---|---|
| Delegation | Every task has one owner and a deadline | Task reassigned by the coordinator |
| Freshness | An agent’s artifacts never silently go stale | Work reassigned, agent flagged in the log |
| Approval | Nothing irreversible happens without a human ack | Action held, human paged |
An agent that is wrong is a bug you can fix. An agent that is silent is an outage you have to notice.
The numbers that mattered
The zero in that last stat is the one that changed my behavior. When a marginal session costs nothing, you stop rationing the system and start actually living inside it, and only a system you live inside ever shows you its real failure modes. Local models are not free, you pay in tokens per second and in quantization tradeoffs, but they move the cost of curiosity to zero, and curiosity is where the operating lessons come from.
What I would keep
Three rules I would keep even if I rebuilt everything tomorrow:
- Make delegation public: contracts in a shared log, never private messages between agents.
- Put the human gate on irreversibility, not on importance.
- Watch freshness, not liveness: a heartbeat proves the process is up, a fresh artifact proves the agent is working.
Ensemble, live
The system this post is about, running continuously since February 2026.
VISIT →
Six months in, the staff is still eleven. I have been asked why I do not add a twelfth, and the honest answer is that every agent is another party to the contracts, and the contracts are the product. A personal AI staff should be trustworthy before it is impressive. The day-to-day version of that principle is small: the coordinator holds the contracts, the gate holds the actions, and freshness: 24h does more supervision than any dashboard I ever built.