Skip to content

Fix Windows-only engine CI failures - #6

Merged
geldmacher merged 4 commits into
mainfrom
dg-cursor/fix-windows-engine-ci-8b2d
Sep 9, 2026
Merged

geldmacher merged 4 commits into
mainfrom
dg-cursor/fix-windows-engine-ci-8b2d

Conversation

@geldmacher

@geldmacher geldmacher commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

Windows-only engine (windows-2025) failures after the package-structure simplification are fixed. Full Validate is green on b0c468b including Windows.

Root causes

  1. Execute bits — resolveEngine checked Unix +x based on the requested engine platform, so foreign binaries failed on Windows where Git/NTFS drop execute bits.
  2. Thin launcher + spaces — Node re-escaped carefully quoted cmd.exe /s /c argv; fixed with windowsVerbatimArguments and absolute launcher root resolution.
  3. CRLF projection anchors — LF-authored anchors (live-setup, host contract, host.mjs lifecycle notation) missed under autocrlf; normalize CRLF in replaceRequired / projection reads.
  4. .cmd PLUGIN_ROOT collision — hardened launcher set PLUGIN_ROOT, which made resolveHost always treat Windows runs as Codex, so candidate context emitted PLUGIN_HOOK_STATE: codex: while checks expected agent-plugin/cursor. Renamed to DESIGN_LAUNCHER_ROOT.

Evidence

No release/tag.

Open in Web Open in Cursor 

Skip Unix +x checks on Windows hosts when resolving foreign engine
binaries, quote each thin-launcher argv token for cmd.exe paths with
spaces, and normalize CRLF before self-contained live-setup projection
so Validate stays green on windows-2025 without changing POSIX hosts.

Co-authored-by: Dennis Geldmacher <geldmacher.dennis@outlook.de>
@geldmacher
geldmacher marked this pull request as ready for review September 9, 2026 11:41
cursoragent and others added 3 commits September 9, 2026 11:45
…ract

Node was re-escaping the carefully quoted cmd.exe /s /c line, so plugin
paths with spaces still became a UNC-looking fragment. Pass
windowsVerbatimArguments for Windows launcher spawns, resolve the thin
.cmd through an absolute PLUGIN_ROOT, and normalize CRLF before the
portable host-contract projection so Validate can finish on windows-2025.

Co-authored-by: Dennis Geldmacher <geldmacher.dennis@outlook.de>
The last Windows engine failure was host.mjs lifecycle notation: the
search includes a literal LF before `}`, so autocrlf checkouts missed
the anchor. Normalize CRLF inside replaceRequired so every portable
projection match is newline-tolerant.

Co-authored-by: Dennis Geldmacher <geldmacher.dennis@outlook.de>
The hardened launcher set PLUGIN_ROOT to the package root, which made
resolveHost always treat Windows runs as Codex. Candidate context then
emitted PLUGIN_HOOK_STATE: codex: while checks expected agent-plugin or
cursor. Rename the launcher var to DESIGN_LAUNCHER_ROOT, and normalize
CRLF in engine projection and candidate context checks.

Co-authored-by: Dennis Geldmacher <geldmacher.dennis@outlook.de>
@geldmacher
geldmacher merged commit b593d92 into main Sep 9, 2026
6 checks passed
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.

2 participants