Skip to content

Add Factory.ai Droid runtime support #44

@chaqchase

Description

@chaqchase

Summary

Factory's Droid runtime is worth supporting as another local/hosted coding agent option inside Sentinel. The community droid-acp adapter is a useful reference, and it also notes that Droid now has official ACP support, which makes this a good time to add first-class integration instead of treating Droid as a one-off experiment.

Why this is worth doing

  • It expands the runtime lineup beyond Codex and Claude with another serious coding agent.
  • Droid appears to be close enough to ACP that we can likely reuse the same protocol client work needed for Cursor and Gemini.
  • The existing community adapter already highlights a few integration edges, especially around MCP wiring, which gives us a head start.

Proposed scope

  • Detect Droid availability and required auth/setup state.
  • Support creating, resuming, and messaging Droid-backed sessions from Sentinel.
  • Stream results into the existing thread UI.
  • Support tool approvals and model/session configuration where the runtime exposes them.
  • Decide what the v1 story is for MCP passthrough.

High-level implementation overview

  1. Validate the current native Droid ACP entrypoint first and prefer that path if it covers the session lifecycle we need. Keep droid-acp as a compatibility/reference implementation, not the long-term source of truth.
  2. Reuse the shared ACP transport to manage process startup, JSON-RPC messaging, session creation/resume, prompt streaming, and cancellation.
  3. Add a Droid-specific adapter that maps runtime status, session identifiers, model selection, and approval semantics into Sentinel's existing engine abstractions.
  4. Extend engine registration, persisted thread state, and UI so Droid is selectable and behaves like the other external runtimes.
  5. Be explicit about MCP support in the first iteration. The community adapter had to write .factory/mcp.json as a workaround because MCP servers could not be passed on the command line; if native ACP still has a similar gap, we should either implement a tightly scoped workaround or ship v1 without MCP passthrough and document that clearly.

Acceptance criteria

  • Droid appears as a selectable engine when the runtime is installed and configured.
  • Sentinel can create and resume Droid-backed threads.
  • Streaming output and tool approval flows work in the existing UI.
  • Setup/auth errors are actionable.
  • The initial MCP behavior is clearly defined and tested, even if the first version intentionally limits it.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions