Skip to content

docs(architecture): document Desktop's two spawn paths for buzz-acp - #6210

Open
shawnhank wants to merge 2 commits into
block:mainfrom
shawnhank:fizz/desktop-process-model-docs
Open

docs(architecture): document Desktop's two spawn paths for buzz-acp#6210
shawnhank wants to merge 2 commits into
block:mainfrom
shawnhank:fizz/desktop-process-model-docs

Conversation

@shawnhank

Copy link
Copy Markdown

Summary

  • ARCHITECTURE.md documents buzz-acp's own internals in detail, but never explains its relationship to the Desktop app that normally launches it.
  • Specifically missing: that Desktop spawning buzz-acp as a child process (inheriting Desktop's OS account) is one option, and that buzz-acp can instead be launched independently (e.g. via launchd/systemd under a separate, more restricted account) with identical channel-level behavior — it just won't appear in Desktop's "Agents" panel, since that panel only tracks locally-spawned children.
  • This surfaced from a real user question about isolating an agent's OS permissions from Desktop's own account — the underlying mechanism already works today, but nothing in the docs said so.

Adds a short, source-cited subsection to the existing buzz-acp entry covering both spawn paths, so this doesn't need to be re-derived from source every time it comes up.

Test plan

  • Docs-only change, no code touched
  • Every technical claim cited against the actual spawn call and env vars (desktop/src-tauri/src/managed_agents/runtime.rs:521,532-533)
  • Cross-checked VISION.md for any conflicting stance on agent isolation — none found

🤖 Generated with Claude Code

ARCHITECTURE.md covered buzz-acp's own internals in detail but never
explained its relationship to the Desktop app that normally launches
it — specifically, that Desktop spawning buzz-acp as a child process
is one option among two, and that an independently-launched buzz-acp
process (e.g. under a separate, restricted OS account via launchd)
participates in channels identically, just outside Desktop's own
process tree and "Agents" panel.

Add a short subsection to the buzz-acp entry covering both spawn
paths, citing the exact spawn call and env vars, so this doesn't have
to be re-derived from source every time it comes up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Shawn Hank <shawn@shawnhank.com>
@shawnhank
shawnhank requested a review from a team as a code owner August 18, 2026 11:53
Per feedback: the two-spawn-path explanation landed after a lot of
back-and-forth in chat, and a diagram would have gotten there faster,
especially for non-technical readers. Adds a Mermaid flowchart (renders
natively in GitHub's markdown) showing the two OS accounts, both spawn
paths, and all three independent relay connections, plus a one-sentence
plain-language framing above it.

Rendered locally with @mermaid-js/mermaid-cli to confirm the diagram
is valid before pushing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Shawn Hank <shawn@shawnhank.com>
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