Follow-up to #66 and #493. During native POSIX spawn error verification, the unchanged packages/runtime/test/bun-corpus/js/node/child_process/child_process.test.ts regression extra stdio pipes are not double-closed on GC fails in Home. Its child calls spawn(process.execPath, ["-e", ""], { stdio: ["ignore", "ignore", "ignore", "pipe", "pipe", "pipe"] }), but Home rejects the array with ERR_INVALID_ARG_TYPE before executing the workload. Installed Bun 1.3.14 passes this case.
Port extra child_process stdio pipes through the real native spawn/stream implementation, retain exactly the requested sockets, and balance ownership through exit, explicit destroy and GC. Preserve the unchanged 20-round workload, delays, two GCs per round and final OK marker. Do not replace extra pipe entries, skip the case, or count argument rejection as lifecycle coverage.
The full child-process file currently reports 30 pass / 2 fail / 1 skip / 1 TODO / 70 assertions in Home after the #493 spawn errno patch. The other failure is the package-script stdio-passthrough scenario, tracked separately. Source pin: 4982b91e3702094330f3be3883354c52b8c01323. #493 fixes libc/setup error propagation, not extra-pipe creation.