Local transport checks #
dev_ws.mjs is an independent WebSocket client using Node24.16.0's built-in
WebSocket implementation. No npm dependencies are required. Official API:
https://nodejs.org/api/globals.html#class-websocket
Start gleam run in the project root, then execute:
node integration/dev_ws.mjs
The client requires an exact binary echo of bytes 00 ff 41 (including invalid UTF-8), waits for disconnect, then verifies ordinary GET /health. A timeout, wrong frame type/bytes, or HTTP failure exits nonzero. The actual command passed on 2026-10-04 against the learner's callback. The server logged on_close and lsof showed only the listening socket afterward, confirming accepted socket cleanup. Production route gating has unit coverage.
WebSocket frame distinction: RFC6455 section5.6: https://www.rfc-editor.org/rfc/rfc6455#section-5.6