Skip to content

roadmap(windows): make Windows a supported platform #2142

Description

@liugddx

Problem

Maka can already build and launch its CLI and Electron desktop app on Windows, and the codebase includes Windows-specific paths for named pipes, PowerShell/cmd shell detection, ConPTY, process-tree termination, and filesystem behavior. However, Windows is not currently a supported platform because these paths are not continuously tested or released, and several product guarantees remain platform-specific.

A local Windows baseline on Node 22 found:

  • the full repository build succeeds;
  • script tests can pass after removing POSIX-only assumptions from macOS development helper tests;
  • managed workspace tests require Git for Windows long-path support (core.longpaths=true);
  • the storage suite currently reports 514 pass / 100 fail / 40 skip;
  • most remaining storage failures are EBUSY cleanup failures caused by SQLite handles still owning runtime.sqlite or runtime.sqlite-shm, which POSIX permits unlinking but Windows does not;
  • restricted sandbox profiles fail closed on Windows;
  • computer-use has no Windows backend.

Being able to open the app is therefore not the same as having a tested, secure, releasable Windows product.

Desired outcome

Define and deliver an explicit Windows support tier for Maka. At minimum, supported CLI and desktop workflows should build, test, install, update, recover from crashes, and fail safely on every release. Features that cannot initially be supported, especially sandboxing and computer-use, must be clearly surfaced rather than silently degraded.

Current support status (2026-08-25)

Windows 11 x64 remains an active preview target, not a fully supported Maka platform. Phase 0-2 build, baseline, crash-recovery, process-cleanup, and durability evidence are in place. Phase 3 preview packaging, checksum/install documentation, closed-app upgrade/uninstall, automatic update, Runtime Host update handoff, and the accepted Abort/Quit recovery boundary are complete; Authenticode signing is the only remaining Phase 3 implementation gate and is tracked by #3414.

The shipped W1 filesystem-worker AppContainer surface has now completed its Phase 4 automated and independent-review gates. #3558 promotes the lifecycle checks into the shared pull-request/formal-release verifier and protects its trigger/source closure; #3586 verifies explicit post-dispatch client cancellation; #3722 closes Runtime Host parent-death, owner binding, Job drain, a 64-launch soak, quarantined ACL-ledger non-reuse, and the scoped adversarial matrix. All three are merged, and #3722 received exact-head independent maintainer approval with no P0-P3 findings.

This completes the current W1 preview sandbox gate, not general Windows support and not the wider W2 command tier. Full support still requires signed artifacts, a current authoritative Windows baseline with required gates, and a final support-declaration cutover. Windows computer-use and the explicitly deferred sandbox-hardening rows remain separate future work.

Phase 0: establish the baseline

Tracking PR: #2156

  • Document supported Windows versions, architecture, Node version, shell prerequisites, and Git requirements.
  • Run the complete test plan on windows-latest and publish pass/fail/skip results.
  • Inventory every process.platform === 'win32' skip and classify it as POSIX-only, portable, or missing Windows implementation.
  • Add a Windows CLI smoke test and Electron startup smoke test.

Phase 1: continuous Windows correctness

Tracking PR: #2173

Current status (2026-08-08): the combined Node 24 main Windows storage baseline is 703 pass / 6 fail / 47 skip, improved from the original 514 / 100 / 40. The non-blocking baseline lane retains complete diagnostics as artifacts.

Completed Phase 1 failure groups include project-catalog and usage-store SQLite shutdown, portable Codex/sandbox path handling, and deterministic Git worktree retirement on Windows. Current implementation focus is grouped by root cause rather than individual failing tests:

Phase 2: crash and recovery guarantees

Repository administration follow-up:

Phase 3: distribution

Current status (2026-08-25): Windows x64 preview packaging, checksum verification, installation documentation, closed-app upgrade/uninstall, CI-verified automatic updates (#3240), safe Runtime Host update handoff (#3382), and the accepted Abort/Quit recovery boundary (#3265) are complete. Authenticode identity acquisition and release-workflow signature verification remain the only Phase 3 implementation gate and are tracked by #3414.

  • Produce a Windows installer and portable ZIP from CI. Completed by chore(release): add the Windows x64 release path #2182.
  • Verify clean install, successful closed-app upgrade, process drain, real NSIS uninstall, and installation-directory removal. Completed by test(windows): verify installer upgrades #2658.
  • Publish Windows preview installation and checksum-verification documentation without claiming full support. Completed by docs(windows): document preview installation #2926.
  • Add Authenticode signing and verify signatures in the release workflow. Tracked by infra: obtain ASF code signing identities for Desktop artifacts #3414; blocked on obtaining the ASF signing identity and provisioning it to the release workflow.
  • Land and independently review Abort-path rollback with backup retention. Completed by feat(win): Abort-path installer rollback with backup retention #3265 (merged as 9de05e266): the final exact head passed CI/audit/Windows L3 with 234 entries restored with 0 diffs, registry-mismatch 103 retention/recovery, stale and incomplete backup 101 refusals, hookless Quit retention/adoption, registration-less 101 refusal, and fixture-scoped uninstall-registry ownership.
  • Decide the formal-support boundary for hookless template Quit, hard-kill, and power-loss failures. Accepted for the Windows 11 x64 preview: verified Abort-path failures recover automatically; hookless Quit supports exact-identity rerun recovery with retained backup evidence; hard-kill and power-loss scenarios remain outside the automatic rollback guarantee and may require repair or reinstall. Full automatic recovery is deferred to a future release-hardening slice.
  • Integrate and verify automatic updates. Completed by feat(release): verify Windows automatic updates end to end #3240: the packaged electron-updater path (check, background download, NSIS handoff, relaunch, full packaged smoke) is verified end to end in CI against a loopback feed; the production GitHub feed configuration is pinned by unit tests. fix(desktop): drain untracked Runtime Host before update #3382 closes the Runtime Host update-handoff process-drain defect exposed by that gate. Updates remain unsigned until Authenticode lands.

Phase 4: sandbox security (shipped W1 preview surface)

Current status (2026-08-25): the Maka-owned packaged AppContainer backend (#2961), production-identity readiness probe, per-launch private desktop, and EN/zh RFC alignment (#3174) are on main. The supported claim remains limited to the Windows 11 x64 W1 filesystem-worker preview surface with packaged fail-closed enforcement; it does not claim the wider W2 general-command tier or escape-proof GUI/window-station isolation.

The remaining W1 lifecycle and adversarial evidence is now merged:

Explicitly deferred hardening, not claimed by the current W1 preview:

  • direct Credential Manager and DPAPI probes;
  • inbound-listener and UDP enforcement, plus broader DNS/SMB channel coverage;
  • no-Win32k mitigation;
  • dedicated window-station and clipboard isolation;
  • power-loss automatic recovery;
  • the wider W2 general-command sandbox tier.

These deferred rows require their own scoped issues and threat-model decisions before implementation. They do not reopen the completed W1 preview evidence gate unless maintainers expand the advertised W1 contract.

Next execution plan

  1. Finish Phase 3 signing (infra: obtain ASF code signing identities for Desktop artifacts #3414). Obtain the ASF Authenticode identity, provision release secrets/identity safely, sign the Windows release artifacts, and make signature verification a required release step. Acceptance: an exact-head Windows release run verifies the expected signer and fails closed for unsigned, mismatched, or tampered artifacts.
  2. Make the Windows baseline authoritative (ci(windows): eliminate hidden failures in the non-blocking baseline #2624 plus repository administration). Refresh the full Node/current-main Windows baseline, eliminate hidden failures, keep only contractually POSIX-specific skips, and configure windows_recovery as a required check in the effective ruleset. Acceptance: the clean Windows runner has an explicit pass/fail/skip inventory and no non-blocking failure can be mistaken for support evidence.
  3. Prepare the support-declaration cutover PR. After signing and required-gate work are complete, update the support matrix, installation/update documentation, and in-product capability wording together; rerun clean install, upgrade, rollback/recovery, and W1 sandbox release evidence. Only this PR should change Windows from preview to supported.
  4. Split deferred sandbox hardening into independent issues. Prioritize direct credential probes and network-channel coverage first; keep Win32k/window-station/clipboard, power-loss recovery, and W2 as separately reviewable slices. Do not mix these with the support-declaration PR unless the advertised contract is expanded.
  5. Continue Phase 5 computer-use separately. UI Automation/capture, consent/elevation, multi-monitor/scaling, secure desktop, and session-lock behavior remain a distinct product project and should not be implied by W1 filesystem sandbox completion.

The unrelated eval process-group timing failure observed while validating #3722 is tracked separately in #3770 and is not a Windows support blocker.

Phase 5: computer-use

  • Define a Windows backend using UI Automation plus an appropriate capture API.
  • Design consent, secure-desktop, elevation, multi-monitor, scaling, and session-lock behavior.
  • Reuse the platform-neutral computer-use host event contract.
  • Add Windows-specific integration and end-to-end evidence.

Support criteria

Windows should be advertised as supported only when:

  • the supported CLI and desktop workflows pass on a clean Windows CI runner;
  • no required feature silently falls back to an unenforced security boundary;
  • crash recovery and process cleanup have release evidence;
  • signed install and update artifacts are published;
  • unsupported or deferred capabilities are explicit in-product and in documentation.

Alternatives or workarounds

Today, developers can run the CLI directly and launch the Electron desktop app in development mode on Windows. WSL2 can provide a Linux execution environment for some workflows. Neither workaround supplies a native Windows release, Windows sandbox enforcement, Windows computer-use, or release-level regression coverage.

This umbrella issue is intentionally phased. CI, storage lifecycle correctness, and distribution can proceed before the sandbox and computer-use projects, while the support criteria prevent partial availability from being mistaken for full platform support.

Activity

  1. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    Windows follow-up update (2026-08-07):

    Next: verify the fresh Windows artifacts, merge the isolated fixes as their checks settle, then recalculate the remaining #2142 failure inventory.

  2. TomXPRIME commented on Aug 7, 2026

    @TomXPRIME

    @liugddx 你好,请问能顺便修复调用pwsh时的编码问题吗?在CJK环境下用UTF-8解码GBK输出会导致乱码

  3. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    @liugddx 你好,请问能顺便修复调用pwsh时的编码问题吗?在CJK环境下用UTF-8解码GBK输出会导致乱码

    可以提issue关联过来,有空就来修~

  4. TomXPRIME commented on Aug 7, 2026

    @TomXPRIME

    #2366 好的,谢谢大佬,我已经提出issue啦。目前opencode的v2(尚在beta)阶段好像修复了这个issue

  5. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    Windows Phase 1 update (2026-08-07, second pass):

    The remaining local failures are now grouped into Windows symlink privilege coverage, Git fixture/process cleanup, Git worktree removal, root-authority file identity/locking semantics, session-bundle path/symlink behavior, and two Node/environment-sensitive import checks.

    Next: settle #2365/#2395 CI, recalculate from their Windows artifacts, then take the Git process/worktree cleanup group without adding broad filesystem retries.

  6. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    Windows Phase 1 update (2026-08-07, post-rebase baseline):

    Next: take the three Git workspace/worktree failures as one narrowly scoped Windows cleanup group, without adding broad filesystem retries; update the skip inventory separately.

  7. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    Follow-up implementation: #2424 fixes the two deterministic Windows worktree retirement failures by running the final git worktree remove from the stable Git common directory rather than from inside the directory being removed. The affected tests pass in three consecutive local Windows runs (6/6).

    The managed head-ref conflict test passes on current main locally; the next Node 24 baseline will determine whether that prior failure remains after recent main changes. A separate temp-root cleanup EBUSY was observed and is intentionally not hidden with broad retries in #2424.

  8. liugddx commented on Aug 7, 2026

    @liugddx
    MemberAuthor

    Windows Phase 1 update after #2395 and #2424 merged:

    Once #2435 lands, the remaining stable groups are root-authority identity/locking (5) and session-bundle path/atomic hydration (1).

  9. liugddx commented on Aug 9, 2026

    @liugddx
    MemberAuthor

    Windows Phase 2 update (2026-08-09):

    • test(windows): run managed workspace crash gates #2509 merged and completes the managed-workspace real-process crash evidence.
    • docs(windows): define crash durability boundary #2553 is open with green checks and documents the Windows durability boundary: file-content and SQLite WAL/FULL guarantees are distinguished from POSIX-equivalent parent-directory durability during sudden power loss.
    • Opened ci(windows): require crash recovery evidence #2562 to make the already-landed recovery evidence release-blocking through a dedicated required windows_recovery job.
    • The new clean Windows Node 24 job passed end to end in about three minutes: install, full test build, SQLite crash recovery, Runtime resume/continuation recovery, Runtime Host owner-death recovery, and managed-workspace crash convergence.
    • The Windows installer/ZIP packaging and verification job also passes on ci(windows): require crash recovery evidence #2562.
    • Runtime's two real-process crash harnesses retain the 60-second POSIX budget and use a 120-second Windows budget; a contract test pins that platform-specific boundary.

    Current PR-level noise is unrelated to the recovery changes: Storybook repeatedly reports the existing Daily Review 480px overflow and Lucide icon story failure, while one E2E rerun missed the quote companion selection overlay. Standard workspace tests, typecheck, Runtime Host tests, Windows baseline, Windows recovery, and Windows packaging pass.

    Next: merge #2553 and #2562 after maintainer review, then mark the Phase 2 durability/release-evidence items complete and move to the remaining process-tree evidence/distribution work.

  10. liugddx commented on Aug 9, 2026

    @liugddx
    MemberAuthor

    Windows CI efficiency update (2026-08-09)

    Opened #2599 to reduce the ordinary Windows baseline critical path without weakening the evidence owned by each affected surface.

    Measured baseline from #2523: 6m31s total. The serialized Storage suite took 3m22s, managed-workspace crash recovery took 46s, and Windows smoke spent another 26s while rebuilding artifacts already produced by build:test.

    #2599 now:

    • reuses the existing repository impact planner for Windows scheduling;
    • skips the Windows runner for documentation-only changes;
    • keeps build and real CLI/Electron startup smoke for Desktop/UI changes;
    • selects the Runtime PTY gate only for Runtime impact;
    • selects the full Storage and managed-workspace crash gates only for Storage impact;
    • reuses the existing test build for smoke instead of rebuilding;
    • fails safe to the complete Windows suite for missing Git history, global changes, or unknown production paths.

    Expected result: Desktop/UI pull requests avoid roughly 4 minutes of unrelated Storage/Crash work while retaining Windows startup evidence. Runtime and Storage changes keep their respective platform evidence. The dedicated release-blocking recovery gate remains tracked by #2562; #2599 does not replace it.

    Verification: 12 tests pass, 1 Windows-only test is skipped locally; workflow YAML parsing, Biome, and diff checks pass.

    中文进展

    已提交 #2599,用于缩短日常 Windows baseline 的关键路径,同时不削弱各影响面负责的证据。

    从 #2523 测得:总耗时 6 分 31 秒,其中串行 Storage 测试 3 分 22 秒,managed-workspace crash recovery 46 秒;Windows smoke 还用了约 26 秒重复构建 build:test 已经生成的产物。

    #2599 的调整:

    • Windows 调度复用仓库现有的影响面计算;
    • 纯文档改动不再占用 Windows runner;
    • Desktop/UI 改动仍保留构建和真实 CLI/Electron 启动 smoke;
    • Runtime 受影响时才运行 Windows PTY gate;
    • Storage 受影响时才运行完整 Storage 与 managed-workspace crash gate;
    • smoke 复用已有测试构建,不再重复构建;
    • Git 历史缺失、全局配置或未知生产路径变更时,安全回退为完整 Windows 套件。

    预期 Desktop/UI PR 可减少约 4 分钟无关的 Storage/Crash 工作,同时保留 Windows 启动证据。Runtime 与 Storage 变更仍保留各自的 Windows 平台证据。#2562 的 release-blocking recovery gate 仍独立推进,#2599 不会替代它。

    本地验证:12 项通过、1 项仅 Windows 运行而跳过;workflow YAML、Biome 与 diff 检查均通过。

  11. liugddx commented on Aug 10, 2026

    @liugddx
    MemberAuthor

    Windows Phase 2 completion update (2026-08-10):

    Next: audit the existing Windows package output and start Phase 3 with the smallest complete distribution slice: installer production plus clean-run verification.

    中文进展

    Windows Phase 2 已完成:#2509、#2553、#2562 均已合并;合并提交上的 Windows recovery(3分41秒)和 baseline(2分44秒)均通过。恢复流水线覆盖 SQLite、Runtime continuation、Runtime Host owner-death 与 managed workspace 崩溃恢复,进程树证据由 #2465 和 baseline 残留进程审计覆盖。

    剩余一项仓库治理配置:需要管理员在实际生效的 GitHub ruleset 中把 windows_recovery 设为 required check。下一步进入 Phase 3,先审计现有 Windows 打包产物,再完成安装器生成与干净环境验证闭环。

  12. liugddx commented on Aug 10, 2026

    @liugddx
    MemberAuthor

    Phase 3 has started with #2650.

    The installer-production checkbox is now marked complete based on #2182 and the existing Windows packaging workflow. #2650 adds the missing artifact-level lifecycle evidence: install the final NSIS .exe into an isolated directory, verify the installed app (resources, version, ConPTY, renderer), then run the shipped uninstaller and require complete removal. Upgrade/rollback remains explicitly out of scope for this PR.

    中文进展

    Phase 3 已由 #2650 启动。基于 #2182 和现有 Windows 打包工作流,“CI 生成安装器”已经勾选完成。#2650 补充最终 NSIS .exe 的真实生命周期证据:隔离安装、从安装目录验证资源/版本/ConPTY/桌面渲染器、运行自带卸载器并确认完整移除。跨版本升级和失败回滚仍明确留给后续任务。

  13. liugddx commented on Aug 11, 2026

    @liugddx
    MemberAuthor

    Windows Phase 3 lifecycle update (2026-08-11):

    • test(windows): exercise installer lifecycle #2650 merged and completes clean NSIS install, installed-app verification, Runtime Host drain, and uninstall-directory removal evidence.
    • Opened test(windows): verify installer upgrades #2658 for version transition evidence. It selects the newest stable release below the candidate, verifies the published SHA-256, installs that release, proves a malformed candidate cannot change the installed version, then upgrades to and fully verifies the current candidate before uninstalling.
    • The failure contract is deliberately narrow: deterministic pre-install failure isolation, not arbitrary power-loss recovery during NSIS replacement.
    中文进展

    #2650 已合并,完成干净安装、真实安装目录验证、Runtime Host 退出等待和 NSIS 完整卸载证据。新 PR #2658 补跨版本证据:选择最近稳定旧版本、校验发布 SHA-256、安装旧版本、验证损坏候选不会改变旧安装、升级并完整验证当前候选,最后卸载。失败边界明确为安装前失败隔离,不宣称覆盖 NSIS 替换文件过程中的任意断电。

  14. liugddx commented on Aug 12, 2026

    @liugddx
    MemberAuthor

    Windows Phase 3 upgrade update (2026-08-12):

    • test(windows): verify installer upgrades #2658 merged. The release workflow now pins the reviewed v0.1.9 NSIS artifact by exact tag, asset name, and repository-owned SHA-256.
    • On the merge-ready Windows run, the verifier completed the real closed-app transition: v0.1.9 install and full packaged-app smoke -> installed-process drain -> current candidate upgrade in the same install/profile paths and full smoke -> process drain -> real NSIS uninstall and directory removal.
    • The evidence boundary remains explicit: this proves a successful closed-app upgrade, not persisted business-state migration, running-app upgrade, automatic update, or rollback after a mid-install failure. Therefore the combined install/upgrade/rollback/failure checkbox remains open.

    Next: design the smallest deterministic NSIS failure/rollback experiment. It must enter the real installer replacement path and then prove the previous installation tree is byte-identical and still launches; a loader-rejected or pre-install invalid executable is not sufficient evidence.

    中文进展

    #2658 已合并。发布流水线现在按精确 tag、资产名和仓库固定 SHA-256 锁定 v0.1.9 NSIS 安装包。Windows 实测完成了真实的关闭状态升级闭环:安装并完整验证 v0.1.9 -> 等待安装目录内进程退出 -> 在相同安装目录和 profile 路径覆盖升级当前候选并完整验证 -> 再次等待进程退出 -> 运行真实 NSIS 卸载器并确认目录移除。

    证据边界保持明确:这证明成功的关闭状态升级,不证明业务状态迁移、运行中升级、自动更新或安装中途失败后的 rollback。因此 install/upgrade/rollback/failure 组合项暂不勾选。

    下一步设计最小、确定性的 NSIS 失败/rollback 实验:失败必须真正进入安装器替换路径,随后验证旧安装目录树逐文件哈希完全一致且旧版本仍可启动;仅让 Windows loader 拒绝无效 exe 不构成 rollback 证据。

  15. liugddx commented on Aug 12, 2026

    @liugddx
    MemberAuthor

    Phase 3 follow-up: opened #2926 for Windows preview publication and installation documentation. It documents checksum verification, the expected unsigned SmartScreen warning, setup/uninstall steps, and the exact upgrade evidence boundary without advertising Windows as fully supported.

    Rollback audit: electron-builder inserts customInstall only after application files, registry data, and shortcuts have already been replaced. Forcing an error there would create a partial install; NSIS/electron-builder does not restore the previous tree. Therefore a synthetic failpoint alone cannot honestly complete rollback evidence. A future rollback slice first needs a transactional backup/restore design, then a deterministic mid-install failure and byte-identical old-tree plus old-app smoke proof.

    中文进展

    已提交 #2926,补充 Windows 预览版发布与安装文档:校验和、未签名 SmartScreen 提示、配置/卸载步骤,以及准确的升级证据边界,同时不提前宣称 Windows 已正式支持。

    Rollback 审计确认:electron-builder 的 customInstall 钩子发生在应用文件、注册表和快捷方式已经替换之后;此处强制失败只会制造半安装状态,NSIS/electron-builder 不会恢复旧安装树。因此不能用一个合成 failpoint 冒充 rollback 证明。后续必须先设计事务式备份/恢复,再加入确定性的安装中途失败,并验证旧目录逐文件哈希一致且旧版仍能完整启动。

  16. 10 remaining items

  17. liugddx commented on Aug 21, 2026

    @liugddx
    MemberAuthor

    Roadmap checklist sync (2026-08-21):

    Related tracker updates:

    Windows remains preview-only.

    中文:已同步 #2142 正文,勾选 #3174 完成的 Phase 4 对齐,记录 #3382/#3340 与 #3265 当前状态,并把 Abort/Quit/硬杀/断电边界拆开表述;签名、required ruleset、安全证据/人审、baseline 与 computer-use 仍保持开放。

  18. liugddx commented on Aug 23, 2026

    @liugddx
    MemberAuthor

    Roadmap sync (2026-08-23):

    • feat(win): Abort-path installer rollback with backup retention #3265 merged as 9de05e266; Phase 3 Abort-path rollback/backup-retention item is now checked. The formal-support decision for hookless Quit, hard kill, and power loss remains open.
    • ci(windows): gate packaged sandbox lifecycle evidence #3558 exact head 229d09c72 is mergeable and Core/Release Windows green. It promotes the existing cancellation/parent-death/concurrency/Job-drain/ACL-recovery smokes into the shared packaged and formal-release verifier. It still requires independent human review.
    • test(windows): verify packaged sandbox client cancellation #3586 exact head bbbb6b4f1 is mergeable and Core/Release Windows green. It adds explicit post-dispatch client cancellation evidence (aborted, launch, dispatched:true), broker/AppContainer process-tree exit, a successful recovery launch, and no matching recovery ledger. The packaged stage passed three times in one run: initial package, pinned upgrade, and automatic update. It still requires independent human review.
    • The Phase 4 lifecycle checkbox remains open. Remaining technical slices are Runtime Host death mid-launch, sustained concurrency soak, and documented unsettled-state recovery/quarantine; the adversarial matrix and independent human security review remain separate gates.

    Windows remains preview-only.

  19. liugddx commented on Aug 24, 2026

    @liugddx
    MemberAuthor

    Related context: sandbox approval pre-dispatch

    Discussion #3629 is the design context for the Phase 4 permission-escalation flow tracked here.

    The proposal is to let Runtime preflight the original tool invocation before dispatch:

    • allowed: dispatch immediately;
    • approval_required: keep the original invocation pending, ask the user, revalidate the current boundary, then dispatch it for the first time;
    • denied: return a typed denial;
    • unsupported: return a typed capability error.

    For Windows/AppContainer, user approval must not silently turn an unenforceable capability into unsandboxed execution. Unsupported capabilities should remain explicit and fail closed. A bypass boundary should dispatch directly without creating an approval request. Bash may retain required_boundary because Runtime cannot safely infer the resources used by an arbitrary shell command; Runtime should own the approval state machine around that declaration.

    This is design context only; it does not claim that the Phase 4 sandbox-security gates are complete. The preview-only support boundary and the remaining lifecycle, adversarial, and independent-review gates remain unchanged.

  20. liugddx commented on Aug 24, 2026

    @liugddx
    MemberAuthor

    Phase 3 boundary decision and Phase 4 continuation

    The Phase 3 formal-support boundary is now recorded for the Windows 11 x64 preview:

    • verified Abort-path failures recover automatically;
    • hookless Quit uses retained backup evidence and exact-identity rerun recovery;
    • hard-kill and power-loss scenarios remain outside the automatic rollback guarantee and may require repair or reinstall;
    • full automatic recovery is deferred to a future release-hardening slice.

    This closes the boundary-decision item only. It does not declare Windows fully supported.

    Phase 4 remains the active track. #3558 is at exact head f65dc9d15 with Core, dependency-audit, and Release Windows checks green; it remains open pending maintainer review and one review-thread resolution. #3586 has merged the explicit packaged client-cancellation evidence.

    The remaining Phase 4 gates are Runtime Host death during launch, sustained concurrency soak, unsettled-state recovery/quarantine, the adversarial escape matrix, and independent human security review.

  21. liugddx commented on Aug 24, 2026

    @liugddx
    MemberAuthor

    Phase 4 automated evidence update

    #3722 now has exact-head packaged Windows L3 green at 6970405e99a7e0aaba28c1f5eb30227aeb57b320:

    • Runtime Host parent-death cleanup;
    • 64-launch packaged concurrency soak;
    • quarantined ACL-ledger non-reuse;
    • packaged filesystem/network/IPC/environment/registry/parent-token/descendant matrix;
    • pinned upgrade/uninstall;
    • automatic update;
    • deterministic rollback.

    The W0 native broker protocol lane is also green. The ordinary test lane is independently red in the pre-existing packages/eval/harbor/test_relay_lifecycle.py test (late_write remained present); #3722 does not modify packages/eval. The Phase 4 lifecycle checkbox remains open until #3722 is merged and the required independent human security review is complete. UDP/DNS/SMB, inbound listener enforcement, Authenticode, no-Win32k/window-station isolation, power-loss automatic recovery, and direct Credential Manager/DPAPI probes remain explicitly deferred.

  22. liugddx commented on Aug 25, 2026

    @liugddx
    MemberAuthor

    The Computer Use portion of this roadmap now has a dedicated implementation issue: #3785.

    #3785 reviews the current maka-agent/maka-cu Windows prototype and proposes the concrete Phase 5 work: reuse the platform-neutral maka.cu/2 host contract, bind actions to process/window generations and opaque snapshot tokens, use a target-window capture API, make UIA/Win32 fallbacks capability-driven and verifiable, define DPI/session/UIPI/security behavior, and add fixture plus Windows E2E evidence.

    It is intentionally scoped as a child of this umbrella issue rather than a second Windows-support roadmap. The acceptance criteria in #3785 are meant to be the Computer Use-specific gates for Phase 5 here.

  23. liugddx commented on Aug 25, 2026

    @liugddx
    MemberAuthor

    Roadmap sync (2026-08-25)

    The issue body is now synchronized after #3558, #3586, and #3722 merged.

    Support should not be declared until the remaining clean-run, fail-closed, signing, and required-gate criteria in the body are satisfied.

  24. liugddx commented on Aug 25, 2026

    @liugddx
    MemberAuthor

    Windows plan item 2 progress: #3796 merged the current-main bootstrap repairs; #3789 is now rebased and exact-head green for both required \ est\ and automatic \windows_recovery. The recovery run executed every native crash/owner-death group, not just workflow setup. #3789 also declares \windows_recovery\ in the ASF-managed required contexts; the roadmap administration checkbox remains open until #3789 merges and ASF infrastructure applies the updated protection. #2624 still tracks PTY/Git cleanup, symlink-capability classification, and the required three clean scheduled baseline runs.

  25. liugddx commented on Aug 26, 2026

    @liugddx
    MemberAuthor

    Windows baseline progress update (2026-08-26)

    The post-#3789 full baseline was started on byte-identical apache/main@32a1db0eb in the maintainer fork because this account cannot dispatch the Apache workflow (GitHub HTTP 403, Actions-admin permission required).

    The first run exposed one deterministic root-authority fixture failure in both focused and full Storage. That was fixed separately in #3872, which adds the exact root race to windows_recovery with strict 1 test / 1 pass / 0 skip evidence. #3872's hosted test and windows_recovery are green.

    Three subsequent full-baseline runs on the fixed exact head are clean:

    Each run reports focused Storage 88 pass / 0 fail / 12 skip, full Storage 940 pass / 0 fail / 38 skip, successful Runtime PTY and PowerShell UTF-8 gates, clean CLI/Electron smoke, and an empty residual-process audit. These are fork diagnostics on the Apache main tree; they are not a replacement for Apache-owned scheduled/admin-triggered evidence.

    Remaining Phase 1 administration work:

    • trigger or authorize three equivalent full-storage runs on apache/main;
    • apply and verify windows_recovery as an effective required check in the GitHub ruleset.

    After those organization-owned checks are clean, the Windows baseline item in #2624 can be closed. Authenticode #3414 remains the separate Phase 3 blocker before the roadmap can change Windows from Preview to Supported.

  26. liugddx commented on Aug 26, 2026

    @liugddx
    MemberAuthor

    #3872 has merged as 235a12d. On byte-identical �pache/main@235a12d, three full fork baseline runs are clean: 950/0/38 full Storage, 88/0/12 focused Storage, and empty residual-process evidence in each. The technical baseline work is complete; remaining Phase 1 actions are ASF-owned three-run confirmation and effective windows_recovery ruleset enforcement. Phase 3's remaining product blocker is Authenticode #3414.

  27. liugddx commented on Oct 8, 2026

    @liugddx
    MemberAuthor

    Status refresh, 2026-10-09. This roadmap is still current; Windows stays a preview target.

    No phase checkboxes change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions