Skip to content

feat(desktop): add per-agent working directories - #4977

Open
iminierai-aig wants to merge 1 commit into
block:mainfrom
iminierai-aig:pr004/per-agent-workdir
Open

feat(desktop): add per-agent working directories#4977
iminierai-aig wants to merge 1 commit into
block:mainfrom
iminierai-aig:pr004/per-agent-workdir

Conversation

@iminierai-aig

@iminierai-aig iminierai-aig commented Aug 5, 2026

Copy link
Copy Markdown

Summary

Adds an optional machine-local working directory to each Desktop-managed agent so its buzz-acp process can start in an explicitly selected workspace instead of always using the shared Buzz nest.

  • validates and canonicalizes configured directories through one backend path
  • fails closed for missing, inaccessible, relative, root, or non-directory paths
  • applies the effective directory to the managed buzz-acp parent process
  • includes the effective directory in spawn configuration hashing so changes trigger existing restart-drift behavior
  • preserves the current Buzz nest default for records without the field
  • excludes machine-local paths from Persona/Team snapshots and managed-agent relay events
  • adds an Advanced editor field with explicit workspace-guardrail language

This is working-directory enforcement only. It is not a sandbox, credential boundary, or filesystem isolation mechanism.

Related issue

Addresses the optional per-agent working-directory portion of #3364. #3822 describes broader channel-scoped/runtime-portable workspace routing, which remains out of scope.

No duplicate implementation PR was found.

Testing

After rebasing onto main at 06b60e6:

  • 999 managed-agent Tauri tests passed
  • full Tauri run: 2,236 passed and 13 ignored; one unrelated timing-sensitive Codex version-probe test failed once and passed on immediate isolated rerun
  • Tauri Clippy passed for all targets/features with warnings denied
  • 4,372 frontend tests passed
  • all 8 edit-agent.spec.ts Playwright tests passed, including working-directory save/reopen persistence
  • TypeScript typecheck, Biome, Rust formatting, file-size/text/pubkey guards, E2E build, and git diff --check passed

Before the rebase, an isolated x86_64 macOS app bundle also built with a development-only identifier and completed a 12-second startup smoke test without fatal errors. The relevant checks were run separately rather than through one aggregate just ci invocation.

UI

Advanced agent settings expose the optional machine-local path and state the security boundary explicitly.

Per-agent working-directory field

@iminierai-aig
iminierai-aig requested a review from a team as a code owner August 5, 2026 23:14
Signed-off-by: Johnny <iminierai@gmail.com>
@iminierai-aig
iminierai-aig force-pushed the pr004/per-agent-workdir branch from 5116201 to c1c5fee Compare August 5, 2026 23:42
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