Parent tracking issue: #66
The unchanged strict full-VM Bun network directory currently has one cross-file heap-accounting failure:
HOME_NATIVE_VM=1 HOME_CORPUS_FULL_VM=1 \
./zig-out/bin/home-debug test \
packages/runtime/test/bun-corpus/js/bun/netObserved on macOS/arm64 debug at b2de7f1:
- directory result: 56 pass, 4 upstream platform skips, 1 fail;
- tcp-server.test.ts expects at most 2 Listener instances but heapStats reports 4;
- the same listener leak assertion passes when tcp-server.test.ts runs by itself;
- all individually exercised fd/connect/socket lifecycle cases pass;
- running with per-test isolation does not eliminate the retained listener wrappers and can expose an additional retained TCPSocket wrapper;
- filtered cross-file subsets pass, so this is sensitive to prior-file realm/global lifetime rather than a deterministic listener ownership failure.
No test threshold, forced cleanup, fixture mutation, or process-per-file workaround should be added. The runner/runtime needs to release unreachable state from prior files before heap assertions observe it.
Acceptance criteria:
- the unchanged strict full-VM js/bun/net directory passes the listener count assertion;
- tcp-server.test.ts still passes in isolation;
- socket-retention and fd/connect lifecycle tests remain green;
- no Bun delegation, relaxed heap limits, artificial GC loops, or corpus edits.