You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by "sunheyi6 (via GitHub)" <gi...@apache.org> on 2026/09/01 01:33:36 UTC

Re: [I] feat(windows): feasibility spike for a supervised C#/.NET maka-cu Windows helper [maka]

sunheyi6 commented on issue #4318:
URL: https://github.com/apache/maka/issues/4318#issuecomment-5487321511

   Codex-assisted implementation update, posted on behalf of @sunheyi6.
   
   @liugddx @M4n5ter — the repository split proposed above is now implemented as two linked Draft PRs:
   
   - Native Windows executor: [maka-agent/maka-cu#5](https://github.com/maka-agent/maka-cu/pull/5)
   - Maka host/product integration: [apache/maka#4409](https://github.com/apache/maka/pull/4409)
   - Original in-tree feasibility checkpoint: [apache/maka#4346](https://github.com/apache/maka/pull/4346)
   
   ### What is now implemented
   
   The native helper lives in `maka-agent/maka-cu` without replacing the existing Go CLI/MCP surface. It provides the private `maka.cu.windows/0` protocol, explicit-HWND UIA observation, one-use opaque tokens, verified `set_value` and `click_element`, target-window WGC capture, target/generation revalidation, cancellation, bounded output, parent-death handling, and helper recovery.
   
   The Maka PR adds a dedicated TypeScript supervisor and `CuDispatchBackend`, selects `windows-native` on Windows, verifies the helper digest, invalidates every session after helper-generation loss, preserves `outcome_unknown` for delivered mutations, and adds Desktop manifest/packaging gates. It does not add global coordinate, keyboard, foreground-input, screen-rectangle, or silent retry fallbacks.
   
   ### New evidence
   
   - native protocol regressions: 4/4
   - native interactive lifecycle suite: all checks passed
   - same-window control replacement: covered and passed
   - whole-window recreation and stale-token rejection: passed
   - WGC target capture under occlusion: passed
   - blocked-provider recovery, cancellation settlement, abrupt parent exit, and residual-process checks: passed
   - real Maka host adapter → published .NET helper → WinForms fixture integration: 2/2
     - initialize/preflight/window enumeration
     - observe with WGC screenshot → `set_value` → fresh observe and readback verification
   - focused Host/backend/supervisor tests, builds, formatting, and ASF header checks passed
   
   This proves the source-development path across both repositories. It still does **not** meet the user-visible completion criterion of a released Windows Maka build that operates a real application from a conversation without preparation.
   
   ### Updated next steps
   
   1. Review and land the native helper ownership/API in maka-agent/maka-cu#5.
   2. In apache/maka#4409, pin an accepted executor commit/artifact and keep `distributionReady: false` until provenance, servicing, and release ownership are approved.
   3. Complete the clean-machine run with no installed .NET runtime/SDK and record the requested startup, first-frame, memory, size, and extraction measurements; evaluate the .NET 10 baseline.
   4. Run the packaged Desktop acceptance path through existing target approval and `maka_computer` against both the adversarial fixture and at least one supported real application.
   5. Verify packaged cancellation/restart/shutdown behavior and macOS regression coverage, then enable the Windows manifest entry only for the qualified artifact.
   
   Could you review the two-PR boundary and the remaining release gate, especially whether the native PR should target `maka/base` as submitted and whether the host PR's private supervisor/adapter is the intended product integration seam?
   
   <details>
   <summary>中文说明</summary>
   
   此更新由 Codex 协助、代表 @sunheyi6 发布。
   
   此前建议的双仓库方案已经落成两个互相关联的 Draft PR:
   
   - Windows 原生执行器:[maka-agent/maka-cu#5](https://github.com/maka-agent/maka-cu/pull/5)
   - Maka Host/产品接入:[apache/maka#4409](https://github.com/apache/maka/pull/4409)
   - 原主仓库实验检查点:[apache/maka#4346](https://github.com/apache/maka/pull/4346)
   
   原生 helper 已实现私有协议、显式 HWND 的 UIA 观察、一次性 token、可验证的填值/点击、指定窗口 WGC 截图、身份校验、取消、父进程退出和卡死恢复。Maka 侧已实现独立监管器、Windows backend、摘要校验、全会话失效、`outcome_unknown` 保留以及 Desktop 清单/打包门禁,没有加入全局输入或屏幕矩形降级。
   
   真实跨仓库联调已通过:Maka Host 启动发布版 .NET helper,观察 WinForms fixture 并取得 WGC 截图,执行 `set_value`,随后重新观察确认值已更新;同窗口控件替换、窗口重建、遮挡截图、取消、卡死恢复和父进程退出也都已有通过证据。
   
   这已经证明源码开发路径可用,但还不等于用户安装正式 Windows Maka 后能直接在对话里操作真实应用。剩余工作是:维护者确认并合并 helper 归属/API;固定接受的 commit/产物;完成无 .NET/SDK 干净机器和性能/体积测量;通过现有授权与 `maka_computer` 跑完整打包应用验收;最后才把合格产物标记为可分发。
   
   请重点审阅两个 PR 的职责边界、`maka/base` 目标分支是否正确,以及 Host 私有监管器/适配层是否符合预期。
   
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org