fix(windows): make Codex runtime and browser workflows portable - #2522
Open
alexpozharskiy wants to merge 2 commits into
Open
fix(windows): make Codex runtime and browser workflows portable#2522alexpozharskiy wants to merge 2 commits into
alexpozharskiy wants to merge 2 commits into
Conversation
|
Merging to
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
alexpozharskiy
force-pushed
the
fix/windows-codex-runtime-tests
branch
from
August 11, 2026 12:29
ec4eb23 to
dda4098
Compare
alexpozharskiy
marked this pull request as ready for review
August 11, 2026 12:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR repairs the Codex browser runtime and the curated Windows test suite without weakening the existing Unix paths or the untrusted-skill environment boundary.
High-impact repairs
~/.config/chromium/Default/Cookies. A process crash before restoration could leave sensitive authentication state corrupted. Tests now set bothHOMEandUSERPROFILEto a disposable directory before module import. No cookie transmission or exfiltration was observed; this is a sensitive-data integrity/privacy-boundary repair.restart. Regression coverage verifies both no-replacement stop behavior and healthy replacement-PID restart behavior.fileURLToPath(import.meta.url)instead of producing/C:/...and thenC:\C:\...paths.whoami, with a safe fallback, so inheritance removal does not lock the running process out of its own files.Additional Windows reliability and test isolation
tasklist, which can be denied under restricted Windows tokens.jq,gbrain,codex, Xvfb/process utilities, Windows command shims, path separators, URL quoting,USERPROFILE, and millisecond timing assumptions in their relevant tests.sedor symbolic-link semantics.Root causes
The failures were a combination of Windows URL/path semantics, CreateProcess not interpreting extensionless shebang scripts, Windows key/ACL identity differences, incomplete Codex runtime packaging, and tests that assumed POSIX home/path/process behavior. Several tests also wrote state outside their fixture boundaries.
Validation
bun run test:windows— all 20 curated Windows-safe shards completed with zero failures (193 files).bun test browse/test/stop-lifecycle.test.ts— 2 passed, 0 failed, covering real daemon stop and replacement-PID restart behavior.browse/dist/browse.exeandbrowse/dist/server-node.mjs.gstack-qa,gstack-review, andgstack-shipmetadata and minimal runtime dependencies were verified.new URL(import.meta.url).pathnameoutside dependencies/generated output returned zero matches.git diff --checkcompleted cleanly.Deliberately not included
gstack/llms.txtline-ending/worktree drift.jqis unavailable. Existing installations need a new forward migration; changing the historical migration alone would not backfill them.