feat(cu): wire verified backend into desktop - #895
Conversation
|
@astrohan This Computer Use stack slice is ready for review. Please follow the dependency and merge order stated at the top of the PR; the exact net diff is linked there. |
0f391ce to
5c1aba3
Compare
Astro-Han
left a comment
There was a problem hiding this comment.
Approved. I found no P0 or P1 on the current head. The physical-input guard is wired through Desktop, the host, and the backend selector, and its error path fails closed. These remaining findings are non-blocking.
P2
- Computer Use is registered without checking model vision support (
apps/desktop/src/main/main.ts:569-589). The app already computessupportsVisionlater, but does not use it to filter this tool group. Since observe and screenshot returnimage-data, a non-vision model with function calling can load the tool and fail on the next model request. This needs an availability gate tied to the selected model. smoke:browserstill builds only@maka/corebeforebuild:main(apps/desktop/package.json:31). In a clean checkout withpackages/computer-use/distabsent, it fails with TS2307 for@maka/computer-use. Add the new workspace build to this smoke path.
P3
- If the backend was selected successfully but the action or capture service later becomes unavailable or disposed, the top-level capability reason still says no integrity-checked artifact was found (
apps/desktop/src/main/capability-snapshot.ts:149-160). The runtime probe shows the actual service failure, so this is misleading diagnostics rather than a functional gate failure.
CI is green. The focused Computer Use tests passed, including 108 package tests and 9 Desktop tests. No fix round is required for these items; this PR should merge after #894.
5c1aba3 to
a9aeff4
Compare
Astro-Han
left a comment
There was a problem hiding this comment.
Restack-only rereview on a9aeff4f. The aggregate patch-id exactly matches the reviewed Desktop wiring and physical-input guard commits. Typecheck, test, and e2e are green. No P0 or P1.
P2
- Computer Use can still be loaded for a non-vision model even though observation results contain image data.
- The clean
smoke:browserpath does not build@maka/computer-usebefore Desktop main and can fail with TS2307.
P3
- A later cua-driver service failure is described as an artifact-integrity failure in the top-level capability reason.
These findings remain non-blocking. Approved for squash merge with no additional fix round.
Upstream stack notice
This is stack PR E. It depends on #894 and must not merge before it.
The Files tab is cumulative until preceding fork branches are rebased after merge.
Review the exact 9-file Desktop wiring net diff now in fork-local PR hqhq1025#4.
Current rebase verification: full repository build; Desktop 2416/2416; Desktop typecheck.
Goal
Wire the verified
@maka/computer-usebackend into the Desktop host without pulling presentation, provider-specific loops, or cumulative E2E into the same review unit.What this PR does
distributionReady: truein packaged mode while still allowing the verified development artifactPromise.allSettled@maka/computer-usebefore Desktop tests, build, screenshots, and smoke commandsReverse-engineering constraints applied
The implementation follows the local Codex Computer Use lab findings:
Relevant lab chapters: wrapper policy/TOCTOU, policy error state machine, service lifecycle, and Electron presentation contract.
Non-goals
Verification
npm --workspace @maka/runtime test— 1420 passed, 2 skippednpm --workspace @maka/computer-use test— 97 passednpm --workspace @maka/desktop run typechecknpm --workspace @maka/desktop test— 2392 passedgit diff --checkRemaining release blocker
Hash verification still precedes path-based process spawn. Packaged release remains disabled until the artifact is distribution-ready; the release chain must additionally bind the verified file identity to the executed canonical artifact and complete signing/notarization/attestation.
Stacked on #3.