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
});