Protocol
Three axioms.
Human–agent communication fails in the same place every time: the agent is asked to figure out where it belongs. Axiom inverts that. Belonging is data.
1
Management
broadcast in
2
Scoped rooms
fan-out · collect
3
Reports
one write back
01
Map, don't prompt
Slack or Discord channel mappings are simple IDs. They live in a markdown file. A cloud or local agent reads that file as the only source of truth for where it may speak. If a channel is not a row, it does not exist.
02
Relay, then report
Management channels broadcast. The agent fans that broadcast into every room inside the same scope, waits, collects what comes back, and files a report. It does not chat. It does not join a new room because a message mentioned one.
03
Scope is a wall
Scope is not a suggestion and not a system prompt. It is enforced in code before any adapter call. An event for a channel outside the mapping is dropped, logged, and never named in a report.
That is the whole protocol. The rest is a faithful implementation — start at examples/mapping.md.