feat(desktop): add opt-in Cua Driver computer use (temporary testing PR)#11709

closed5
main
temp/cua-driver-10899
openedSep 14, 2026byJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 13d ago

Temporary draft for checking out and testing the rebased Cua Driver integration on another machine. Carries the original work by Francesco Bonacci from #10899, whose organization-owned fork does not permit our pushes.

Adds default-off Cua computer use for Codex sessions, with desktop and standalone host support. Rebased onto main, adapted the Settings and tool-capability conflicts, and fixed the Effect service conventions findings: dependency acquisition, namespace imports, structured failures with preserved causes, and documented diagnostic suppression.

Validation: 154 focused tests passed, including desktop lifecycle and telemetry unit tests; server and desktop typechecks, targeted lint, and formatting passed. Earlier rebase verification passed 372 server/contracts/packaging tests and web/contracts typechecks. Desktop unit tests used mocked native hosts and an Electron path override to avoid a download on a disk-constrained machine.

This PR is for checkout and testing, not a merge-readiness claim. Current UI screenshots and native end-to-end verification have not been refreshed after the rebase. Original integration evidence and remaining platform limitations are recorded in #10899.

Original implementation by Francesco Bonacci with Codex. Rebase and convention fixes by GPT-6 in Codex.

Added 3 commits

  • refactor(cua): follow Effect service conventions2391976
  • fix(server): release Cua host slot after destruction failsbd95157
  • feat(desktop): add opt-in Cua Driver computer useffa1cb4
Synced from GitHub

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.6 KiB13.6 KiB−16 B (−0.1%)15.1 KiB✅
CodexThread snapshot wire7.0 KiB7.0 KiB−2 B (−0.0%)7.3 KiB✅
CodexLive turn WebSocket wire6.6 KiB6.6 KiB−14 B (−0.2%)7.8 KiB✅
CodexLive turn WebSocket decoded57.1 KiB57.1 KiB0 B (0.0%)66.4 KiB✅
CodexLive turn messages10100 (0.0%)21✅
ClaudeTotal thread wire13.6 KiB13.6 KiB−12 B (−0.1%)15.1 KiB✅
ClaudeThread snapshot wire7.1 KiB7.1 KiB+1 B (+0.0%)7.3 KiB✅
ClaudeLive turn WebSocket wire6.6 KiB6.5 KiB−13 B (−0.2%)7.8 KiB✅
ClaudeLive turn WebSocket decoded57.9 KiB57.8 KiB−44 B (−0.1%)66.4 KiB✅
ClaudeLive turn messages109−1 (−10.0%)21✅

Baseline: cba7dd7 · PR result: 468818d · Source CI: failure

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

Added 1 commit

  • fix(server): package Cua Driver into the CLI single-executable73f5e5b
Synced from GitHub

macOS preview

The preview download was removed because this PR closed or the preview label was removed.

Added 1 commit

  • refactor(server): load the Cua SDK as an Effect468818d

Testing done; the three follow-up commits now live on the fork branch behind #10899 (fb7e10fc03, b8781e4e37, b0d2ee7ddb).