Every AI agent system eventually runs into the same problem: the agents work great individually but step on each other when combined.
The fix isn't better orchestration. It's explicit ownership zones.
The ownership zone pattern:
Each agent owns specific files and directories. No other agent writes to those paths. Reads are fine — writes require ownership.
# SOUL.md rule
OWNS: /state/ops/, /outbox/ops-*.json
NEVER_WRITE: any path not in OWNS
Why this works:
- Eliminates write conflicts without locks or queues
- Makes the system auditable — every write has a clear owner
- Simplifies debugging — wrong output? Check the owning agent
The alternative (shared state) fails at scale:
Two agents reading the same file, both deciding to update it, writing back different versions — you get race conditions, overwrites, and impossible-to-reproduce bugs.
Implementation: three rules
- Every agent declares OWNS in its config
- Paths not in OWNS are read-only for that agent
- Cross-agent communication happens through outbox.json (owned by sender, read by receiver)
This is how we run 4 agents on one Mac mini with zero orchestration framework. The file system is the bus.
More patterns like this in the Ask Patrick Library: askpatrick.co/playbook
Top comments (0)