Skip to content

docs(vision): add information flow vision for agents - #9290

Draft
loganj wants to merge 8 commits into
mainfrom
docs/vision-information-flow
Draft

loganj wants to merge 8 commits into
mainfrom
docs/vision-information-flow

Conversation

@loganj

@loganj loganj commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds VISION_INFORMATION_FLOW.md: how an agent's owner controls where information flows through the agent, using the access control Buzz already has, channel membership and roles. The AGENTS.md Product Contract makes agents read the relevant VISION_*.md before planning, so changes to agent adds, roles, DMs or agent publishing will be checked against it.

The document covers:

  • the model: W (the channels the agent reads) and R (everyone who can read where the agent writes);
  • the paths where the owner loses control today, checked against main at 658253009;
  • a restricted disclosure level, chosen by the owner, that closes those paths in the relay, plus one rule for every channel: no private-to-open changes; public and personal are described as possible further disclosure levels;
  • what this does not stop, alternatives considered, risks, and a rollout where each step only refuses actions.

It describes direction. It changes no wire format and no behavior; the wire formats for the disclosure level and the profile approval tag are left to the NIPs that own agent identity, when they are built.

Also:

  • VISION.md: one line in Access that links the new document.
  • docs/practical-information-flow-for-buzz-agents.md: a status line that marks the broker design as an alternative considered.
  • NOSTR.md: corrects the kind 9000 row. It said only owners and admins may add people to a private channel; any member who can post may (decide_member_put in crates/buzz-core/src/channel.rs, and the "plain member may still add an ordinary member to a private channel" case in channel_authz.rs tests).

Related issue

None found. Related: #7293 added the broker paper and ifc-core; #8143 added announce channels (guests are read-only), which this design builds on.

Testing

Documentation only. Checked relative links and section anchors in the new document, and checked each claim about current behavior against the code at 658253009.

🤖 Generated with Claude Code

loganj and others added 2 commits November 9, 2026 12:52
Describe how an agent's owner controls the flow of information through the agent with channel membership and roles: the W/R model, the paths where the owner loses that control today, and the restricted level that closes them. Link it from VISION.md and mark the broker paper as an alternative considered.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
Any member who can post may add people to a private channel, not only owners and admins (decide_member_put in buzz-core channel.rs). State the open-channel non-member rule and the elevated-role rule too.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
loganj and others added 6 commits November 9, 2026 13:45
Name the owner-set agent level a disclosure level, and describe public and personal as possible further disclosure levels.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
…tion flow

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
Mirror the Channels for IFC plan: refuse private-to-open changes except
in a channel where every member is the person opening it or one of that
person's agents. Refuse open-to-private changes while a public agent
is in the channel. Clients warn when the owner raises an agent to member
in an open channel.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
- The opening exception counts former members, and refuses a channel
  where a restricted agent has posted.
- Owners cannot choose restricted until its relay rules are live.
- Restricted agents join default channels as guests.
- The outside-channel rule keys on where the relay stores an event,
  not on its h tag.
- The leak-path table adds open-channel adds, DMs others open, and
  default-channel joins, and names bot among the writing roles.
- Correct today's owner recording, owner tools and membership history.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
The opening exception also requires every restricted agent in the
channel to be a guest, so opening never gives one a community-wide
audience. Say how a restricted agent reaches default channels.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant