Tracked by #6. Blocked by #2 and #3.
Why this issue exists
Support is not complete until the managed lifecycle and a real mention/reply path are proven. CI must remain hermetic while maintainers get a repeatable opt-in real-Devin runbook.
Existing seams
- Fake server:
desktop/tests/e2e/fixtures/fake-acp-agent.mjs
- Live harness:
desktop/tests/e2e/helpers/twoRelayHarness.ts
- Desktop harness tests:
desktop/tests/e2e/harness-management.spec.ts
- Spawn/stop/sweep:
desktop/src-tauri/src/managed_agents/runtime.rs, runtime/stop.rs, runtime/orphan_sweep.rs, runtime/tests.rs
- ACP lifecycle:
crates/buzz-acp/src/acp.rs, pool.rs, queue.rs
- Docs:
crates/buzz-acp/README.md, TESTING.md, .env.example
The generic orphan sweep is marker-based for arbitrary harness names. Add no Devin-only reaper unless a failing regression proves the generic marker/process-group path insufficient.
Work
Hermetic automation
Extend the fake ACP fixture with a Devin-shaped profile and cover:
- initialize and session creation
- auth-required plus quota/policy-style typed failures
- streamed text and shell output
- model switch success/failure
- permission request handling
- cancellation without steering
- malformed stdout/protocol exit
- graceful stop, crash, restart, and process-group cleanup
- redaction of credentials and prompt content from surfaced errors/logs
Opt-in real runbook
Document a disposable, credential-gated flow:
- verify
devin --version and devin auth status without recording auth output
- query auth methods/models through
buzz-acp
- start one managed worker in a disposable channel/repository
- send an owner mention asking for a unique harmless reply token
- prove the reply was published through the bundled Buzz CLI
- cancel an in-flight turn
- stop/restart and verify no marked subprocess remains
State that authenticated prompts may consume quota or incur charges.
Documentation
Add “Running with Devin” to crates/buzz-acp/README.md and update TESTING.md with:
- external install/platform support
devin auth login
- native
devin acp
- optional
DEVIN_MODEL
- local tool access and Buzz owner access controls
- dynamic models/account policy
- proprietary third-party status
- troubleshooting: missing CLI, logged out, policy disabled, quota, timeout, malformed protocol
- explicit non-support for TUI/
--print, Cloud Devin, Outposts, and remote Devin MCP
Change .env.example only for an actual supported Buzz variable; do not invent DEVIN_API_KEY.
Acceptance criteria
Suggested verification
. ./bin/activate-hermit
cargo test -p buzz-acp
cargo test --manifest-path desktop/src-tauri/Cargo.toml managed_agents::runtime
cd desktop
pnpm test
pnpm test:e2e:smoke
cd ..
just ci
For screenshot specs, call waitForAnimations(page) and build with pnpm build:e2e.
Out of scope
References
Tracked by #6. Blocked by #2 and #3.
Why this issue exists
Support is not complete until the managed lifecycle and a real mention/reply path are proven. CI must remain hermetic while maintainers get a repeatable opt-in real-Devin runbook.
Existing seams
desktop/tests/e2e/fixtures/fake-acp-agent.mjsdesktop/tests/e2e/helpers/twoRelayHarness.tsdesktop/tests/e2e/harness-management.spec.tsdesktop/src-tauri/src/managed_agents/runtime.rs,runtime/stop.rs,runtime/orphan_sweep.rs,runtime/tests.rscrates/buzz-acp/src/acp.rs,pool.rs,queue.rscrates/buzz-acp/README.md,TESTING.md,.env.exampleThe generic orphan sweep is marker-based for arbitrary harness names. Add no Devin-only reaper unless a failing regression proves the generic marker/process-group path insufficient.
Work
Hermetic automation
Extend the fake ACP fixture with a Devin-shaped profile and cover:
Opt-in real runbook
Document a disposable, credential-gated flow:
devin --versionanddevin auth statuswithout recording auth outputbuzz-acpState that authenticated prompts may consume quota or incur charges.
Documentation
Add “Running with Devin” to
crates/buzz-acp/README.mdand updateTESTING.mdwith:devin auth logindevin acpDEVIN_MODEL--print, Cloud Devin, Outposts, and remote Devin MCPChange
.env.exampleonly for an actual supported Buzz variable; do not inventDEVIN_API_KEY.Acceptance criteria
--printand cloud surfaces.just cipasses.Suggested verification
For screenshot specs, call
waitForAnimations(page)and build withpnpm build:e2e.Out of scope
References