Skip to content

refactor(driver): require daemon-backed dispatch - #2337

Merged
f-trycua merged 1 commit into
mainfrom
codex/daemon-only-driver-dispatch
Jul 18, 2026
Merged

refactor(driver): require daemon-backed dispatch#2337
f-trycua merged 1 commit into
mainfrom
codex/daemon-only-driver-dispatch

Conversation

@f-trycua

Copy link
Copy Markdown
Collaborator

Summary

  • make cua-driver call, configuration commands, diagnostics, and MCP dispatch go through the daemon
  • remove daemonless/in-process MCP and CLI fallback paths while keeping daemon-owned tool execution intact
  • update embedded-host startup, test infrastructure, policy tests, skills, and docs for the daemon-only process model

Why

Permission policies, desktop identity, session state, and telemetry need one authoritative execution boundary. A daemonless fallback could bypass that boundary or execute against a different desktop/session than the long-lived driver.

Behavior changes

  • cua-driver call <tool> now fails when no daemon is available instead of invoking a local registry
  • MCP is always a stdio-to-daemon proxy; the old no-relaunch switch and in-process server path are removed
  • macOS standalone mode may launch the app-owned daemon; Windows/Linux require an already-running daemon
  • embedded hosts must start serve --embedded --socket ... before starting mcp --embedded --socket ...

Tests

  • cargo fmt --all -- --check
  • cargo check -p cua-driver -p cua-driver-testkit
  • cargo test -p cua-driver-core --lib (291 passed)
  • cargo test -p cua-driver --bin cua-driver (103 passed)
  • cargo test -p cua-driver-testkit --lib (46 passed)
  • cargo test -p cua-driver --test daemon_required_test --test protocol_handshake_test --test protocol_tools_call_test --test protocol_schema_test --test transport_config_persistence_test (24 passed, 2 intentionally ignored)
  • xcrun swiftc -typecheck ExampleAgentHarness.swift -framework ApplicationServices
  • daemonless-path audit confirms the binary's only remaining registry.invoke is in serve.rs

@f-trycua f-trycua changed the title Make Cua Driver dispatch daemon-only refactor(driver): require daemon-backed dispatch Jul 18, 2026
@f-trycua
f-trycua marked this pull request as ready for review July 18, 2026 17:31
@f-trycua
f-trycua merged commit a7ebca2 into main Jul 18, 2026
14 of 20 checks passed
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