Symptom
A clean checkout of dev at 88548b50717ef13e556f42b4882bd1e0de7116b0 fails 24 tests in seven unchanged files on Windows 11 with Node 22.23.2 and the frozen pnpm lockfile (pnpm 11.7.0, Vitest 4.1.5). These failures were found while preparing the news reading-stream contribution and reproduced in a separate pristine checkout, without the news changes.
Reproduction
After pnpm install --frozen-lockfile, run from the repository root:
pnpm --package=node@22.23.2 dlx node node_modules/vitest/vitest.mjs run scripts/pnpm-command.spec.ts scripts/probe-port.spec.ts scripts/publish-cli-npm-packages.spec.mjs src/core/office-day-store.spec.ts src/workspaces/headless-task.spec.ts packages/cli/src/install-layout.spec.mjs packages/cli/src/project-transfer.spec.ts packages/cli/src/update.spec.mjs
Observed: 7 files failed, 1 passed; 24 tests failed, 77 passed, 2 skipped.
Evidence and suspected boundaries
scripts/pnpm-command.spec.ts: two Corepack/cmd quoting scenarios exit 1 rather than 0.
scripts/publish-cli-npm-packages.spec.mjs: Windows command arguments differ from the expected publish command.
src/core/office-day-store.spec.ts: file mode assertion expects 0600 (384), receives 0666 (438) on Windows.
src/workspaces/headless-task.spec.ts: ten subprocess scenarios fail; shell commands exit 127 rather than their expected result, leaving output/session snapshots empty. The watchdog case additionally failed in a full-suite run but passed in this baseline selection.
packages/cli/src/install-layout.spec.mjs: inherited launcher environment has 14 keys while the fixture expects 12.
packages/cli/src/project-transfer.spec.ts: fixture git add rejects .codex because of the machine's global Git ignore configuration; the test is not isolated from that configuration.
packages/cli/src/update.spec.mjs: eight scenarios fail, including This channel has not published a Windows CLI installer yet from platform-incomplete fixture manifests.
scripts/probe-port.spec.ts passes this selection; one previous full-suite run failed to find a free port in its two-port fixture range. This intermittent result is not counted among the 24 reproduced failures.
Scope and deferral
Keep the news contribution isolated from CLI installer, headless execution, and test-environment portability changes. This issue records the baseline failures for the owning subsystems rather than weakening assertions, changing dependencies, or adding skips in the news PR. Historical related Windows work includes #621, #627, and #628; this reproduction is against the current dev commit above, not those earlier snapshots.
Expected outcome: the hermetic suite should either exercise supported Windows behavior with complete fixtures or isolate host-specific environment assumptions explicitly, without hiding real process or installer failures.
Symptom
A clean checkout of
devat88548b50717ef13e556f42b4882bd1e0de7116b0fails 24 tests in seven unchanged files on Windows 11 with Node 22.23.2 and the frozen pnpm lockfile (pnpm 11.7.0, Vitest 4.1.5). These failures were found while preparing the news reading-stream contribution and reproduced in a separate pristine checkout, without the news changes.Reproduction
After
pnpm install --frozen-lockfile, run from the repository root:Observed: 7 files failed, 1 passed; 24 tests failed, 77 passed, 2 skipped.
Evidence and suspected boundaries
scripts/pnpm-command.spec.ts: two Corepack/cmd quoting scenarios exit 1 rather than 0.scripts/publish-cli-npm-packages.spec.mjs: Windows command arguments differ from the expected publish command.src/core/office-day-store.spec.ts: file mode assertion expects 0600 (384), receives 0666 (438) on Windows.src/workspaces/headless-task.spec.ts: ten subprocess scenarios fail; shell commands exit 127 rather than their expected result, leaving output/session snapshots empty. The watchdog case additionally failed in a full-suite run but passed in this baseline selection.packages/cli/src/install-layout.spec.mjs: inherited launcher environment has 14 keys while the fixture expects 12.packages/cli/src/project-transfer.spec.ts: fixturegit addrejects.codexbecause of the machine's global Git ignore configuration; the test is not isolated from that configuration.packages/cli/src/update.spec.mjs: eight scenarios fail, includingThis channel has not published a Windows CLI installer yetfrom platform-incomplete fixture manifests.scripts/probe-port.spec.tspasses this selection; one previous full-suite run failed to find a free port in its two-port fixture range. This intermittent result is not counted among the 24 reproduced failures.Scope and deferral
Keep the news contribution isolated from CLI installer, headless execution, and test-environment portability changes. This issue records the baseline failures for the owning subsystems rather than weakening assertions, changing dependencies, or adding skips in the news PR. Historical related Windows work includes #621, #627, and #628; this reproduction is against the current
devcommit above, not those earlier snapshots.Expected outcome: the hermetic suite should either exercise supported Windows behavior with complete fixtures or isolate host-specific environment assumptions explicitly, without hiding real process or installer failures.