Background
script/stormtest.py's harness logic is already cross-platform — the in-editor scratch paths (res://_stormtest/...) go through Godot's virtual filesystem, and the host-side report path uses tempfile.gettempdir() + os.path.join + os.replace, all of which resolve correctly on Windows.
What's not platform-agnostic is the invocation surface around it, which currently assumes POSIX:
- venv interpreter — docs/examples use
.venv/bin/python; on Windows it's .venv\Scripts\python.exe.
script/serve-this-worktree is a #!/usr/bin/env bash script — needs Git Bash/WSL on Windows, or the external --reload server has to be started by hand.
$TMPDIR referenced in docs is POSIX; on Windows the temp dir is %TEMP% (the code already does the right thing via tempfile, but the docs/examples don't reflect it).
For now this is documented as a Windows heads-up in docs/STRESS_TESTING.md. This issue tracks removing the heads-up by making the tooling resilient.
Proposed
- Auto-detect the venv interpreter (e.g.
sys.executable, or a tiny launcher that picks Scripts\python.exe vs bin/python) so the documented command is identical on every OS.
- Provide a non-bash way to serve a worktree's
src/ with --reload (a small Python entrypoint, or document the raw command) so serve-this-worktree isn't a hard dependency on Windows.
- Audit any remaining host-side path construction in the harness for separator/escaping resilience (prefer forward slashes /
pathlib).
Acceptance
A Windows agent can copy-paste one command from the docs and run stormtest against a live editor with no POSIX-only steps, and the Windows note in docs/STRESS_TESTING.md can be deleted.
https://claude.ai/code/session_01Jq5X4ivngAf1N6r5UX2BVw
Background
script/stormtest.py's harness logic is already cross-platform — the in-editor scratch paths (res://_stormtest/...) go through Godot's virtual filesystem, and the host-side report path usestempfile.gettempdir()+os.path.join+os.replace, all of which resolve correctly on Windows.What's not platform-agnostic is the invocation surface around it, which currently assumes POSIX:
.venv/bin/python; on Windows it's.venv\Scripts\python.exe.script/serve-this-worktreeis a#!/usr/bin/env bashscript — needs Git Bash/WSL on Windows, or the external--reloadserver has to be started by hand.$TMPDIRreferenced in docs is POSIX; on Windows the temp dir is%TEMP%(the code already does the right thing viatempfile, but the docs/examples don't reflect it).For now this is documented as a Windows heads-up in
docs/STRESS_TESTING.md. This issue tracks removing the heads-up by making the tooling resilient.Proposed
sys.executable, or a tiny launcher that picksScripts\python.exevsbin/python) so the documented command is identical on every OS.src/with--reload(a small Python entrypoint, or document the raw command) soserve-this-worktreeisn't a hard dependency on Windows.pathlib).Acceptance
A Windows agent can copy-paste one command from the docs and run stormtest against a live editor with no POSIX-only steps, and the Windows note in
docs/STRESS_TESTING.mdcan be deleted.https://claude.ai/code/session_01Jq5X4ivngAf1N6r5UX2BVw