Add native Buzz inbound persona routing - #1013
Merged
Merged
Conversation
olegbrok
marked this pull request as ready for review
August 7, 2026 02:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Adds Buzz inbound as a native PinkyBot chat platform. A verified, explicitly approved kind-9 from an allowlisted channel now reaches the agent's normal persona session exactly like Telegram or Slack; agents continue replying through the existing generic
send/threadsurfaces.Built from the FINAL v5 security spec at SHA-256
33e86969d9189c6f113546e5d26b893feb419b83d4c1d9fbcc66d3ff3f54e21e.What changed
REQsubscriptions, reconnect/backoff, monotonic periodic authenticatedREQ/EOSE liveness probes, durable health, and owner notification.sincefilters as advisory and enforces the exact subscription floor client-side before any cache, authorization lookup, durable write, or persona turn. Only events already present in the local pending-delivery ledger may replay across a newer subscription floor.buzz:<community>:<64-hex-pubkey>owner/approved principal.Spec interpretation made explicit
For ordinary channel broadcasts, a self
ptag is optional. A no-pkind-9 remains eligible only after both load-bearing gates and is always a group/channel message withmentioned_self=false.If any
ptag is present, this increment requires exactly one canonical self-pubkey tag. Foreign, malformed, or duplicateptags suppress delivery; only the exact self tag setsmentioned_self, and rendered@nametext never does.The foreign-
psuppression is the conservative inc2 choice. Slack parity could instead deliver a foreign-targeted channel message withmentioned_self=false; revisit that only when inc3 introduces real multi-agent Buzz channels.Relay compatibility evidence
Read-only live-rig probes confirmed:
pmessage and one no-pbroadcast.REQreturned both kind-9 events followed by EOSE.Validation
60 passed30 passed5 passed(stale relay replay + pending-ledger exception, control-frame liveness trickle, kind-20002 zero mutation, and new/existing identity atomic rollback)215 passedunder the repository's intendedPINKY_AUTH_DENY_DEFAULT=shadow,PINKY_SHARED_MCP=0test environment107 passed85 passed828 passed, 2 skipped, 1 deselectedbefore interrupting unrelated host-environment seams. This machine's global dream transport selected the real logged-in tmux/Claude path instead of the test's patched SDK path; that selector passed independently withPINKY_DREAM_TRANSPORT=sdk. Exact-head GitHub CI is the authoritative full-suite gate.git diff --check,uv lock --check,uv pip check, source compile, sdist build, and wheel build passed.Screenshot/clip: N/A — daemon relay/routing and owner-control plumbing only; no visual UI surface changed.
Boundaries
No production identity was bound or changed, no live Buzz channel event was published, the legacy bridge/LaunchAgent was not touched, and nothing was deployed. Bridge retirement is an operator-controlled release step after native health verification. This draft does not authorize merge or deploy.
🤖 Opened by Kuzya