feat(computer-use): integrate native Windows maka.cu/2 path - #4595
feat(computer-use): integrate native Windows maka.cu/2 path#4595sunheyi6 wants to merge 13 commits into
Conversation
hqhq1025
left a comment
There was a problem hiding this comment.
Review of f24c195182dedafdda6d0ab75755c23f29848ab7
The desired product change is valid: select the Windows native helper on Windows, keep the shared MakaCuService supervisor/backend, verify the helper artifact, and package it only through an explicit readiness gate. The current revision is not merge-ready.
Blocking findings:
- This PR is based on the pre-#4497 action-space revision and is now conflicting with
main. It contains approximately 693k added lines across 159 files, including the already-landed action-space work, two executor experiments, historical comparison harnesses, and generated result dumps. Please rebuild the PR from currentmainand retain only the Windows product integration, focused tests, concise documentation, and preparation/provenance tooling. - The checked-in artifact authority points at
sunheyi6/maka-cuand records only a local binary digest. The preparation script can setdistributionReady: truefrom a command-line flag without proving an upstream repository commit, reproducible CI artifact, signature, clean-machine acceptance, or packaged conversation E2E. A release gate must be derived from verifiable provenance and qualification evidence, not a caller-provided boolean. Keep readiness false until that pipeline exists. - The companion executor PR currently violates its advertised
maka.cu/2snapshot/image lifecycle and response limit, and its documented clippy command fails. Product integration should not be approved beforemaka-agent/maka-cu#8is corrected and the exact corrected artifact is retested through this host path.
Repository hygiene:
- Remove the two generated browser JSON files (about 663k lines combined) and the repeated raw run outputs from Git history. Publish raw evidence as CI artifacts or a linked release attachment; keep a small machine-readable summary and reproduction commands in the PR.
- Remove the duplicate Rust executor copy under
experiments/. The executor source must have one authority inmaka-cu; Maka should consume a pinned artifact, not mirror the implementation. - Remove
windows-cu-backend.tsandwindows-cu-service.tsunless a real platform-specific behavior appears. They only rename/re-export the shared backend and supervisor, which makes the public API look like two implementations even though the architecture requires one. Platform selection can instantiatecreateMakaCuBackenddirectly.
The current CI being green proves the branch builds and packages in its current environment, but it does not resolve these ownership, provenance, or executor-contract issues.
Recommended sequence:
- Fix and approve
maka-agent/maka-cu#8. - Rebase/recreate this PR from current
mainafter #4497. - Keep a small Maka-side adapter/artifact patch only.
- Run a real Windows interactive-desktop executor E2E, then packaged Maka conversation E2E, then clean-machine/install/upgrade validation against the exact pinned artifact.
- Keep
distributionReady: falseuntil signing, provenance, servicing, and clean-machine gates are automated.
Verdict: not ready to merge. The product-side final structure should remain one model action space, one shared protocol/backend/supervisor, and one thin Windows artifact/platform selection seam.
|
|
||
| export async function prepareWindowsCuHelper({ | ||
| source = process.env.MAKA_CU_WINDOWS_SOURCE, | ||
| releaseReady = process.argv.includes('--distribution-ready'), |
There was a problem hiding this comment.
A caller-controlled --distribution-ready flag can promote any locally supplied artifact after only filename/size checks. Readiness must be computed from verified provenance and qualification evidence (upstream commit/artifact identity, signing, clean-machine/package E2E, and servicing), not asserted by the invocation. Please remove this promotion path and keep local preparation development-only.
| "distributionReady": false | ||
| }, | ||
| "windowsCu": { | ||
| "repo": "sunheyi6/maka-cu", |
There was a problem hiding this comment.
The product manifest must not establish a contributor fork as the release authority. Pin the canonical maka-agent/maka-cu repository plus an exact reviewed commit or CI artifact provenance once the executor PR is approved. A local digest is useful for integrity, but it is not source provenance.
|
|
||
| export type WindowsCuBackendOptions = MakaCuBackendOptions; | ||
|
|
||
| export function createWindowsCuBackend(options: WindowsCuBackendOptions): MakaCuBackend { |
There was a problem hiding this comment.
This function is only an alias for createMakaCuBackend; the adjacent Windows service file similarly re-exports the shared supervisor. These aliases create a second named public API without a second implementation and weaken the one-backend/one-supervisor boundary. Select the shared backend directly and keep Windows-specific behavior in artifact selection and the native executor.
Summary
This PR integrates the native Windows
maka.cu/2Computer Use path into Maka and records the current Windows x64 validation evidence.windowGeneration; stale observations are invalidated and unknown outcomes are not replayed or upgraded.Validation
The following evidence is recorded in
experiments/maka-cu-windows/CROSS_MACHINE_RUST_NATIVE_SUMMARY.md:unknown; six-run WPF matrix: 102 pass, 0 fail, 6unknown.unknown; six-run matrix: 54 pass, 0 fail, 18 blocked, 6unknown.EPERMenvironment block; native capability contract: 13/13 pass.AD79C2362FF05B5392D79655B85E2B3C20E341AE8ECC2C5E5BDAA387CA37DA12; the ZIP SHA256 is825213FE198A3140C60B75FD83D80B365C0CD67776DE840D26AD6364DF81B7A2.dispatch_refused; the mutation was not retried.https://www.google.com/without using an existing Chrome profile.unknown; a page oracle is never rewritten as helper verification.Known limits
npm run buildon the clean PR branch is currently blocked by pre-existing@maka/uitype errors involvingsettledText,autoScroll, andtrailingAction, outside this PR. The CU-scoped build,@maka/computer-usetests, and Desktop main-process build pass.maka-cu2drivers are authoritative.distributionReadyremainsfalse.Refs #4318
中文翻译
摘要
本 PR 将 native Windows
maka.cu/2Computer Use 路径接入 Maka,并记录当前 Windows x64 验证证据。windowGeneration强制执行新鲜目标身份;过期 observation 会失效,unknown 结果不会被重放或升级。验证情况
以下证据记录在
experiments/maka-cu-windows/CROSS_MACHINE_RUST_NATIVE_SUMMARY.md中:unknown;六次 WPF 矩阵:102 pass、0 fail、6 个unknown。unknown;六次矩阵:54 pass、0 fail、18 个 blocked、6 个unknown。EPERM环境阻塞;native capability contract:13/13 通过。AD79C2362FF05B5392D79655B85E2B3C20E341AE8ECC2C5E5BDAA387CA37DA12;ZIP SHA256 为825213FE198A3140C60B75FD83D80B365C0CD67776DE840D26AD6364DF81B7A2。dispatch_refused;没有重试该 mutation。https://www.google.com/,没有使用已有 Chrome profile。unknown;页面 oracle 永远不会被改写为 helper verified。已知限制
npm run build当前被本 PR 范围之外既有的@maka/ui类型错误阻塞,涉及settledText、autoScroll和trailingAction。CU 范围构建、@maka/computer-use测试和 Desktop main-process 构建通过。maka-cu2driver 才是权威结果。distributionReady仍为false。Refs #4318