Add remote agent owner attestation fn to host service - #532
Merged
Merged
Conversation
Signed-off-by: Jarrod Sibbison <jsibbison@squareup.com>
Signed-off-by: Jarrod Sibbison <jsibbison@squareup.com>
jsibbison-square
marked this pull request as ready for review
October 2, 2026 10:18
jsibbison-square
requested review from
a team,
comp615 and
wesbillman
as code owners
October 2, 2026 10:18
wesbillman
reviewed
Oct 2, 2026
wesbillman
left a comment
Collaborator
There was a problem hiding this comment.
No changes requested. The owner/key binding, native IPC permissions, broker identity routing and late-result cancellation are consistent with this proof-only scope.
Star Lord automated source review via Wes’s account; head 0d2625fc3bdd60a26630f654d7de46aa2f57814d / base 75e6dc396431f188901b671975a9d4d3ae9f5599. Source-only: I ran no tests or app; hosted CI and DCO passed at this head, but Windows validation was skipped and attended native/remote-agent workflow acceptance remains unverified.
loganj
approved these changes
Oct 2, 2026
johnmatthewtennant
pushed a commit
that referenced
this pull request
Oct 2, 2026
* origin/main: (21 commits) Add remote agent owner attestation fn to host service (#532) fix(build): pin Rust 1.98.1 to unblock macOS 27 agent builds (#529) main fix: Pi model test ETXTBSY flake (#513) fix(composer): remove phantom text-field focus outlines (#519) fix(relay): use writer reads for channel confirmations (#501) feat(channels): unify header actions and inline details editing (#487) Show app-managed agents working in the sidebar (#539) Add recoverable hosted community deletion (#403) Add verified Inbox evidence and exact edit closure (#495) Animate Buzz startup through initial content readiness (#534) Polish profile avatar picker and custom colors (#533) Add Send to channel for authored thread replies (#531) Allow plugins to send managed-agent registration events (kind 30177) (#535) Fix Pi and Goose environment overrides (#517) feat(ui): Switch shared icons to Tabler (#523) Improve message media contrast and thumbnail fill (#521) Document unified inventory and verify focused import and compact-row acceptance (#293) fix(ux): clarify Pi installation and setup errors (#511) Count unread replies only in conversations you are part of (#471) Animate the terminal welcome with a compact hex wordmark (#508) ... Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
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.
Why: Remote services generate agent keys outside Buzz's local agent-creation flow and need a way to get a nip-oa proof via a plugin to register the owner with the agent.
What: Expose
identity_prepare_remote_agent_authorizationandctx.host.prepareRemoteAgentAuthorization(agentPubkey, signal?)so the signed-in owner can prepare a reusable NIP-OA tag for such a key without creating a local agent or selecting a community.The result is
["auth", ownerPubkey, "", signature], signed over the NIP-OA domain and exact agent pubkey. The native identity owner and pinned development-broker identity each reject wrong-owner, malformed and self-attestation requests. Native IPC remains restricted to the main WebView, and the host reusesnativeIdentityEnabled()to select the same identity policy as the rest of the app. Cancellation discards late results; an issued proof remains reusable. The caller owns submitting the proof and signing the final agent event.Scope is native identity/IPC wiring, the host service, one development-broker endpoint, colocated tests. Beekeeper consumers, deployment, registration and UI are excluded.
Out of scope:
Validation:
bin/pnpm exec vitest run src/features/host/service.test.ts dev/relay-broker-api.test.mjs src/features/identity/identity.test.tsx: 118 passed, including browser routing with the live flag unset, shared identity policy, and real host → HTTP broker → cryptographic verification without a community or upstream requests.bin/cargo test -p buzz-foundation --locked identity::tests: 10 passed, including production IPC → identity signer → signature verification with fixture keys.bin/cargo test -p buzz-foundation --locked native_command_permissions_allow_only_main_webview: passed, covering main, guest and remote-origin permissions.--locked --all-targets -- -D warnings).