fix(desktop): enforce owner-only access in internal builds - #4053
Draft
brow wants to merge 8 commits into
Draft
Conversation
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
…nforcement * origin/main: feat(desktop): Agent Trading Cards — mintable agent-snapshot card PNGs with optional NIP-44 lock (#3278) Signed-off-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz> Co-authored-by: Amp <amp@ampcode.com> Ai-assisted: true
Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz>
…nforcement Co-authored-by: Tom Brow <tomb@block.xyz> Signed-off-by: Tom Brow <tomb@block.xyz> * origin/main: docs: add one-click Railway deploy for a hosted relay (#2733) fix(desktop): point Oh My Pi preset at omp.sh (#3516) fix(mesh): stop restarting a busy or loading shared-compute node (#3909) fix(desktop): preserve first huddle speech (#3962) Signed-off-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz>
This was referenced Aug 1, 2026
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.
Problem
A provider-backed managed agent can still execute through local infrastructure, so backend type is not a safe authorization boundary. Internal Buzz builds need one effective access rule across local and provider-backed agents, while OSS builds must remain configurable.
Stored and relay-advertised access are deliberately not authoritative for this policy. A relay reader may still see a wider value such as
anyone; runtime enforcement must clamp it at the point of actuation instead.Changes
desktop/src-tauri/src/managed_agents/desktop/src-tauri/src/commands/desktop/src/features/agents/,desktop/src/features/channels/, anddesktop/src/features/onboarding/squareup/buzz-releases#74 supplies the internal-build marker in the shipped release pipeline. Until it lands, shipped activation is a fail-safe no-op.
Companion change: PR #4064 explains rejected non-owner messages in-thread.
Tests
Each production policy-wiring path has a dedicated regression that fails when its compiled-policy handoff is removed. Added coverage:
current_build_deploy_payload_forwards_compiled_policyinternal_policy_rejects_malformed_stored_allowlist_before_clampinginternal_deploy_payload_clamps_stale_accessinternal_policy_overrides_stale_anyone_record_at_runtimereserved_keys_include_respond_to_gateinternal_enforcement_clamps_local_and_providerinternal local Welcome teammates accept enforced owner-only accessinternal provider Welcome teammates accept enforced owner-only accessinternal running local and provider teammates do not restart for enforced owner-only accessinternal running teammates still restart for runtime changesPlaywright E2E was not run.
Quality gates at tip
e0165f52b52741a74184c9899e2b51eeec40c939Originated from Buzz channel buzz-agent-control. Supersedes #2537.