Connecting Voxelbox, the local runtime and source of truth for my agent organization, to Buzz forced a useful question: what does another system need to know about that organization?
The runtime already knew its agents, the spaces where they worked, and how to reach them. Buzz needed enough of that structure to recognize the same agents and associate the same spaces with its channels. It didn't need their prompts, memory, credentials, tools, or project contents.
I looked for an existing standard before defining another one. AGNTCY Identity and OASF already cover public agent identity, capabilities, and discovery. What I couldn't find was a way for the organization that owns the agents to say who belongs to it and which project context another system may use.
I wrote that gap down as an experimental agency federation proposal. It builds on OASF instead of inventing another identity system or directory. The organization publishes a small view of its membership and permitted context; transport and interaction protocols remain separate.
That boundary follows the same rule I use for other interfaces: show what another system may rely on, and keep the implementation free to change. Every field that crosses the boundary becomes both a dependency and a disclosure decision.
The local runtime remains the source. When an authorized request arrives, it supplies the private context the agent needs and returns the result. Nostr and Git signing can use keys that already live there without handing those keys to another client.
The Buzz integration is my first test. This is an initial proposal, not a standard, and the canonical technical draft will change as the implementation exposes what is useful, redundant, or wrong. If there is prior art I should be building on instead, I want to hear about it.
