Skip to content

feat: Node.js conformance tests, kernel networking, and bridge improvements#51

Merged
NathanFlurry merged 1 commit intomainfrom
ralph/kernel-consolidation
Mar 25, 2026
Merged

feat: Node.js conformance tests, kernel networking, and bridge improvements#51
NathanFlurry merged 1 commit intomainfrom
ralph/kernel-consolidation

Conversation

@NathanFlurry
Copy link
Member

Summary

  • Node.js conformance test suite: Runner with expectations.json tracking 7,600+ upstream Node.js v22.14.0 tests, with cross-validation mitigations to prevent overfitting
  • Kernel networking consolidation: Socket table with TCP, UDP, Unix socket, and socketpair support; DNS cache, timer table, inode table, and wait queue; host network adapter for Node.js driver
  • Bridge & runtime improvements: Native V8 ESM mode (removing JS-side ESM hacks), PTY stdin streaming fix, signal handler support (sigaction wasi-libc patch)
  • Test coverage: 20+ new kernel unit tests (sockets, DNS, timers, signals, permissions), cross-runtime network tests, WasmVM net server/UDP/Unix tests
  • Docs: Virtual kernel architecture rules, networking consolidation spec, reclassification of 52+ misclassified tests in Node.js compat roadmap

Test plan

  • Kernel unit tests pass (packages/core/test/kernel/)
  • Node.js conformance runner passes (packages/secure-exec/tests/node-conformance/)
  • WasmVM network tests pass (packages/wasmvm/test/net-*.test.ts)
  • Cross-runtime network tests pass (packages/secure-exec/tests/kernel/)
  • Typecheck passes

🤖 Generated with Claude Code

…rovements

- Implement kernel socket table with TCP, UDP, Unix socket, and socketpair support
- Add loopback routing, server sockets, shutdown/half-close, socket options/flags
- Add network permissions, external routing via host adapter, Node.js HostNetworkAdapter
- Add DNS cache, timer table, inode table, wait queue, signal handler registry
- Migrate Node.js bridge to kernel: FD table, net.connect, http.createServer, SSRF, child process
- Route WasmVM sockets through kernel, add bind/listen/accept/sendto/recvfrom WASI extensions
- Add C sysroot patches and test programs for server/UDP/Unix/signal handling
- Remove legacy networking Maps from Node.js driver and bridge
- Fix CI crossterm build, wire TimerTable and handle tracking to bridge
- Implement SA_RESTART, SA_RESETHAND, O_NONBLOCK, O_EXCL/O_TRUNC, backlog limits
- Wire InodeTable into VFS for deferred unlink and real nlink/ino
- Add readdir "." and "..", /proc filesystem population, poll timeout -1
- Implement blocking flock and pipe write with WaitQueue
- Add getLocalAddr/getRemoteAddr, WasmVM getsockname/getpeername, setsockopt routing
- Fix ESM parity: native V8 ESM mode, top-level await, dynamic import failures
- Add Node.js conformance test runner (19.9% genuine pass rate, 704/3532 tests)
- Add conformance report generator script and docs page
- Add adversarial review of kernel consolidation PRD

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@NathanFlurry NathanFlurry force-pushed the ralph/kernel-consolidation branch from a1ec33e to 463eb06 Compare March 25, 2026 08:05
@NathanFlurry NathanFlurry merged commit 5c2e0f4 into main Mar 25, 2026
1 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant