Skip to content

ci: normalize Windows ARM64 desktop before full E2E - #13

Merged
cm2435-hcomp merged 14 commits into
kai/windows-arm64-runtimefrom
kai/windows-arm64-desktop-readiness
Jul 27, 2026
Merged

ci: normalize Windows ARM64 desktop before full E2E#13
cm2435-hcomp merged 14 commits into
kai/windows-arm64-runtimefrom
kai/windows-arm64-desktop-readiness

Conversation

@cm2435-hcomp

Copy link
Copy Markdown
Collaborator

Summary

This is a stacked infrastructure PR on top of #8. It makes GitHub-hosted Windows 11 ARM64 runners reach a measured clean desktop immediately before Holo Full E2E model execution.

Root cause

The windows-11-arm image starts in Windows privacy OOBE and can expose Edge/WSL first-run surfaces. The existing x86_64 control uses Windows Server and does not have this state, so the earlier ARM results were dominated by runner initialization rather than runtime behavior.

Changes

  • add a versioned, fail-closed Windows desktop readiness contract and parser
  • detect rendered privacy OOBE through Shell_OOBEProxy plus UI Automation semantics
  • use a guarded, evidence-capturing OOBE navigation fallback only while that exact state is visible
  • close visible WSL/first-run surfaces and prove Explorer plus Notepad, Calculator, and File Explorer responsiveness
  • upload readiness JSON, screenshots, process/window inventory, and app probes on every ARM shard
  • run readiness after bootstrap and immediately before task selection so late startup UI cannot contaminate the first model observation
  • add regression tests for contract consistency and workflow ordering

No CUA driver or HAI runtime production behavior changes.

Validation

Local:

  • 449 passed, 16 skipped
  • Ruff passed
  • mypy passed on the changed readiness/static-test surface
  • actionlint passed
  • git diff --check passed

Full Windows ARM64 E2E: https://github.com/hcompai/holo-desktop-cli/actions/runs/30280259801

  • 4/4 fresh ARM64 hosts: readiness green, zero blockers, responsive Explorer
  • 8/8 task results produced
  • 6/8 tasks passed
  • calculator_ci_smoke: reproducible evaluator failure, display remained 0
  • foreground_visible_editor_witness: agent failure after clean readiness; sentinel was not written

The infrastructure gate is green. This PR does not claim 8/8 model parity, and it preserves both remaining failures as real post-readiness task evidence.

@cm2435-hcomp
cm2435-hcomp marked this pull request as ready for review July 27, 2026 15:59
@cm2435-hcomp
cm2435-hcomp merged commit 8f2bdfe into kai/windows-arm64-runtime Jul 27, 2026
11 of 12 checks passed
cm2435-hcomp added a commit that referenced this pull request Jul 28, 2026
* Add windows-arm64 to the runtime manifest with a placeholder digest and a friendly unavailable error

Windows ARM64 users previously hit a bare RuntimeError; every unpublished
platform (absent or placeholder) now raises RuntimeArtifactUnavailable with
the PATH / download-env-override guidance. The placeholder entry makes the
next runtime release require a windows-arm64 sha, so client and pipeline
ship together.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add Windows ARM64 installer and release scaffolding

* Fix Windows ARM64 dependency bootstrap

* Ship Windows ARM64 dependency wheel

* Build dependency wheel with native ARM Python

* Run Holo evals against HAI candidates

* Pin hai-agent-runtime 0.1.10

* Prepare Windows ARM64 E2E dependencies

* ci: normalize Windows ARM64 desktop before full E2E (#13)

* Spike Windows ARM64 desktop readiness

* Route readiness spike through full E2E workflow

* Close hosted Windows first-run surfaces

* Require Windows OOBE broker to exit

* Probe rendered Windows privacy experience

* Remove Windows readiness spike routing

* ci: complete Windows ARM privacy OOBE before e2e

* ci: walk Windows privacy OOBE to completion

* ci: click through hosted Windows privacy OOBE

* ci: gate Windows privacy state on visible UI

* ci: allow an idle Windows desktop without foreground

* ci: prepare Windows desktop immediately before e2e

* style: format Windows readiness workflow test

* ci: isolate Windows ARM64 installer smoke

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Charlie Masters <charlie.masters@hcompany.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant