mirror of
https://github.com/block/buzz.git
synced 2026-10-28 21:11:48 +00:00
## Problem Managed agents in internal Buzz builds should answer only their owner. Previously, an agent could keep a broader access setting and respond to other people, which did not match the access policy for internal builds. This PR makes owner-only access effective for every managed agent in internal builds and makes that restriction clear in the Desktop UI. Open source builds remain configurable. ## Changes - Enforce owner-only access when any managed agent starts or is deployed from an internal build. - Show the agent access control as locked to **Only me** in Desktop, with an explanation of why it cannot be changed. - Keep Welcome teammates working under the same rule without triggering unnecessary restarts. - Leave open source build behavior unchanged. This changes effective runtime access without rewriting stored or relay-advertised settings. The companion [#4064](https://github.com/block/buzz/pull/4064) explains the restriction in-thread when someone without access mentions an agent. The enforcement will remain inactive in shipped builds until [squareup/buzz-releases#74](https://github.com/squareup/buzz-releases/pull/74) marks internal releases during the build. ## Screenshots | Before | After | | --- | --- | |  |  | ## Tests Added coverage for: - Runtime enforcement for [locally run agents](e0165f52b5/desktop/src-tauri/src/managed_agents/runtime/tests.rs (L196)) and [deployed agents](e0165f52b5/desktop/src-tauri/src/commands/agents_tests.rs (L510)). - The [current-build deployment path](e0165f52b5/desktop/src-tauri/src/commands/agents_tests.rs (L455)), [invalid stored access](e0165f52b5/desktop/src-tauri/src/managed_agents/access_policy.rs (L98)), and the [local startup guard](e0165f52b5/desktop/src-tauri/src/managed_agents/env_vars/tests.rs (L149)). - Consistent enforcement across [both agent backends](e0165f52b5/desktop/src-tauri/src/managed_agents/access_policy.rs (L112)). - Welcome teammates created as [locally run](e0165f52b5/desktop/src/features/onboarding/welcomeGuide.test.mjs (L384)) or [deployed](e0165f52b5/desktop/src/features/onboarding/welcomeGuide.test.mjs (L393)) agents, including [access-only](e0165f52b5/desktop/src/features/onboarding/welcomeKickoff.test.mjs (L202)) and [runtime-related](e0165f52b5/desktop/src/features/onboarding/welcomeKickoff.test.mjs (L225)) restart behavior. The full Desktop Rust and JavaScript suites, type checks, formatting, clippy, and file-size checks passed. Playwright E2E was not run. --- Originated from Buzz channel [buzz-agent-control](buzz://channel?id=cf5dada7-e26a-4887-ae41-b3bd5f42d3b2). Supersedes #2537. --------- Signed-off-by: Tom Brow <tomb@block.xyz> Signed-off-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> Co-authored-by: npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp <58390b379a262b73ffc632f19c73e6769ef40f36c81e642b960246eff9831222@buzz.block.builderlab.xyz> Co-authored-by: Amp <amp@ampcode.com>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition