AT-301d · Module 2
Publish-Subscribe Patterns
4 min read
Not every message has a specific recipient. When VANGUARD publishes a weekly intelligence brief, 8 agents need to consume it — but VANGUARD should not need to know which 8. Publish-subscribe decouples the sender from the receivers.
Channels define the subscription topology. We run 6 channels: pipeline-updates (HUNTER, CLOSER, LEDGER, FORGE), intelligence-briefs (SCOPE, VANGUARD, BLITZ, HUNTER, CIPHER), content-pipeline (QUILL, BLITZ, RENDER, BUZZ), customer-signals (PATCH, BEACON, ANCHOR, CLOSER), system-operations (CLAWMANDER, all agents), and coordination-reports (CLAWMANDER, CLU, GREG). Agents subscribe to channels based on their role contract. A new agent deployment automatically subscribes the agent to relevant channels based on its role definition. An agent publishes to a channel; all subscribers receive the message. No point-to-point routing required.
Do This
- Define channels by business function, not by agent — channels outlive individual role changes
- Auto-subscribe new agents based on role contract — subscription is a role attribute
- Include channel metadata in every published message — subscribers filter before processing
Avoid This
- Create a channel per agent — that is point-to-point with extra steps
- Manually manage subscriptions — they drift, and a missed subscription is a silent failure
- Publish to all-agents when only 3 need the message — noise degrades attention allocation