Skip to content

Windows: current dev baseline fails CLI, headless, and environment-isolation tests #1382

Description

@2233admin

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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions