1 Commits
Author SHA1 Message Date
EwenandClaude Opus 4.8 5ba9c3a6c4 fix: Windows CI compatibility for lint and cross-platform tests (#34)
The PR check runs lint/typecheck on Windows and Linux and an advisory test
leg there; several tests failed on the Windows runner while staying green on
macOS. Make the suite and lint pass on every platform.

- claude-detect: derive path join + PATH delimiter from the injected
  deps.platform (path.posix/path.win32) instead of the ambient host module,
  so a linux-pinned test no longer produces back-slashes on Windows. Update
  the tests to assert with posix.join / win32.join deterministically.
- session-persistence, artifacts, acp/runtime tests: build expected paths
  with join()/resolve() rather than hard-coded POSIX literals, so they match
  the host-native separators the production code emits. The source is already
  correct per-OS.
- python-executor: shutdown() killed the interpreter but resolved before the
  OS reaped it, so on Windows the still-held handles under the temp tree made
  cleanup fail with EBUSY (racy — only some tests hit it). It now awaits the
  child's exit (bounded by a grace timeout). Give the process-backed tests a
  30s timeout for the slow cold spawn on Windows and retry the temp rmdir.
- acp/runtime PDF test: raise the timeout to 30s for headroom on the cold,
  slower pdfjs-dist dynamic import on Windows CI.
- Add .gitattributes (eol=lf) so the Windows runner's autocrlf checkout no
  longer trips prettier's "Delete ␍" on build/*.cjs.
- Apply the outstanding prettier/prettier fixes flagged across all platforms.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 13:17:51 +08:00