Skip to content

Epic: complete first-class Devin CLI support #6

Description

@errfld

Goal

Promote Buzz's existing devin acp preset to first-class managed-runtime support with the same installation, authentication, onboarding, configuration, and lifecycle quality as Claude Code and Codex.

Upstream PR block#3225 already added the tier-2 preset. This epic tracks remaining parity instead of creating another adapter.

Execution order

Order Issue Deliverable Dependency
1 #1 Versioned ACP contract and hermetic fixtures none
2 #2 Runtime metadata, install/auth/readiness, stable launch #1
3 #3 Onboarding, model/config normalization, diagnostics #2
4 #4 Lifecycle gates, opt-in real smoke, docs #2 and #3
parallel #5 Generic owner-mediated permissions independent; not launch-blocking

Repository orientation

Desktop managed runtime
  -> buzz-acp subprocess harness
  -> native ACP-over-stdio agent (`devin acp`)
  -> bundled Buzz CLI / relay credentials
  -> relay replies and observer telemetry

Start with:

  • AGENTS.md and CONTRIBUTING.md
  • crates/buzz-acp/README.md and crates/buzz-acp/src/{acp,lib,pool}.rs
  • desktop/src-tauri/src/managed_agents/discovery.rs
  • desktop/src-tauri/src/managed_agents/discovery/presets.rs
  • desktop/src-tauri/src/managed_agents/runtime.rs
  • desktop/src/features/agents/AGENTS.md
  • desktop/src/features/onboarding/ui/
  • desktop/src-tauri/src/managed_agents/config_bridge/

Architecture constraints

  • Use official native devin acp JSON-RPC stdio.
  • Keep capability facts in the Rust runtime catalog and project them to the frontend.
  • Discover authentication/model/config through ACP when possible.
  • Preserve runtime ID devin, command devin, and args ["acp"]; no record migration should be needed.
  • Keep canonical .agents/skills; Devin reads it natively.
  • Do not bundle/relicense the proprietary CLI.
  • Add no Devin-specific protocol branch without a failing reproduction.
  • Keep relay/Nostr changes out of test(acp): establish a Devin CLI compatibility contract #1test(docs): verify and document the managed Devin lifecycle #4; base support is local runtime/ACP work.

Working agreement

  1. Take the first unblocked issue and include assumptions in the PR description.
  2. Check current upstream work before editing, especially fix(acp): launch ACP/stdio mode for managed agents with no runtime preset block/buzz#3804.
  3. Keep each issue reviewable; do not fold feat(acp): route permission requests to authorized Buzz owners #5 into launch work.
  4. Add tests beside behavior and update desktop/src/features/agents/AGENTS.md if config rules change.
  5. Activate Hermit before Git/hooks: . ./bin/activate-hermit.
  6. Run focused tests during development and just ci before handoff.
  7. Commit with git commit -s; add no production unwrap()/expect(), undocumented public APIs, or unsafe code.
  8. Use pnpm build:e2e for Desktop mock E2E and follow repository screenshot rules.

Definition of done

  • A user can discover/install Devin, authenticate, select it in onboarding, configure a dynamic model, and run a managed turn via devin acp.
  • Missing, logged-out, invalid-config, policy/quota failure, and ready states are actionable.
  • Existing runtime: "devin" records continue without migration.
  • Automated tests need no Devin account; an opt-in real smoke path exists.
  • Buzz reads/stores no Devin credentials or account data.
  • Existing first-class, preset, and custom runtimes are unchanged.
  • just ci passes.

Non-goals

  • TUI or devin --print
  • Static models/pricing
  • Cloud Devin, Outposts, or remote Devin MCP
  • New generic session resume work
  • Reading/storing/migrating credentials
  • Mandatory real Devin CI

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions