Commitcd6cb966Recorded4 Sep 2026Repositorysigil-websocket

Run the nowait-pump client from the repo, not /tmp

Message

Module resolution follows the working directory. Spawned with cwd "/tmp" the client loads whatever (sigil websocket) is installed globally and ignores src/ entirely, so the suite reported green against code it never executed.

Caught by a presence probe rather than by review: planting an unconditional (error "PLANT-MARKER-XYZZY") at the top of ws-receive-nowait still produced a pass. With cwd set to the repo the marker surfaces, and restoring the original defective guard now turns the test red.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AbXvyDXoTUyqV1tb1fkeFa

Changed
 test/integration/test-native-websocket-nowait-pump.mjs | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Diff
test/integration/test-native-websocket-nowait-pump.mjsmodified
@@ -66,8 +66,13 @@ const args = [
66
...dependencyRoots.flatMap((root) => ["-L", root]),
67
path.join(here, "nowait-pump-client.sgl"),
68
];
+69
// cwd MUST be the repo. Module resolution follows the working directory, not
+70
// the client file's location: spawned from /tmp this test loads whatever
+71
// (sigil websocket) is installed globally and reports green no matter what is
+72
// in src/. Verified by planting an unconditional `error` at the top of
+73
// ws-receive-nowait -- from /tmp the suite still passed.
74
const child = spawn("sigil", args, {
−70
cwd: "/tmp",
+75
cwd: repo,
76
env: { ...process.env, SIGIL_WS_TEST_PORT: String(port) },
77
stdio: ["ignore", "pipe", "pipe"],
78
});