Skip to content

v1.3.0 — Conditional JS reuse on Windows

Latest

Choose a tag to compare

@grapefruit0205 grapefruit0205 released this 13 Sep 11:09
· 5 commits to main since this release
Immutable release. Only release title and notes can be modified.
6f46bff

Both marketplaces pin v1.3.0; updating v1.2.0 installs it.

  • Python 3.10+ is asked for, not assumed. When the Claude Code launcher finds no usable interpreter (it also skips the macOS stub that only offers the command line tools) or the one it found is too old, the prompt hook shows what to install (systemMessage) and tells the model not to use click-gate until a new session; tool hooks stay silent, so nothing is blocked. The Codex Windows batch launcher prints the same instructions. (#148)
  • Portable observer transport. Each observed Node process announces its inspector endpoint in an endpoint-<pid>.json file the controller polls for, instead of a FIFO the runner had to mkfifo and hold open. (#149)
  • Conditional JS reuse on Windows. The Windows backend hands the framework observer the ETW events it captured, and a projection module answers from them what the strace projection answers on Linux: every process started and stopped inside the capture, and which files the observed process consumed after the collector acknowledged its inspector session. The collector's own transport, the null device, pre-acknowledgement metadata probes, created outputs and inherited standard handles are set aside; every other read is bound by content, and a probed path that is absent binds as one that must stay absent. The inspector collector runs on Windows with its own profile; external rows are spelled C:/dir/file; the receipt binds the inbox logman/tracerpt pair as its backend. The sessions need an elevated session; without elevation checks run and same-state receipts still reuse. (#150)
  • The native random-state reader builds on Windows. With the MSVC tools on PATH (a developer prompt) and this Node version's headers (MSI install or node-gyp cache), the reader that samples V8's per-realm PRNG state and shared-buffer bytes compiles and links through an import library generated from node.exe's own export table — nothing is downloaded. SHA-256 is computed in the reader itself. Without the toolchain a Windows check that consumes Math.random or shared memory stays ineligible, as before. (#151)
  • Framework entry points run by node are the framework's check. node <root>/node_modules/jest/bin/jest.js … and node <root>/node_modules/vitest/vitest.mjs … are recognized as the jest and vitest checks (the launchers are cmd shims on Windows; the entry point stays one process on every host). The Windows CI job now runs the real jest/vitest worker paths and the conditional Hook path under ETW with Node 22.23.2. (#151)

Windows requirements for the JS observer: Git for Windows (Claude Code), an elevated session for the ETW sessions, and a developer prompt plus Node headers for the random-state reader.

Full notes: RELEASE_NOTES.md