Follow-up to #66 and #495. The unchanged test/js/bun/spawn/spawn.test.ts selection -t 'stdio\[N>=3\]' at source pin 4982b91e3702094330f3be3883354c52b8c01323 remains incomplete in native Home after socket-fd ownership is implemented.
Observed on Darwin arm64: undefined/sparse slots and Bun.file(path/fd) cases pass; an empty Blob at index 3 incorrectly throws Blob cannot be used for stdio[3] yet; the direct ReadableStream case aborts in Stdio.extract at the extra-index else => unreachable. The same direct-stream panic reproduces in published pre-change binary 6d797186c087babfe413a6ed8f7902f34d35e2f3, so this is not a socket-fd regression. The full selection aborts and is not a passing suite. The separately filtered three socket-fd cases pass 3 tests / 5 assertions, with 128 filtered cases excluded.
Port the selected current Rust stdio input handling: empty blobs should become ignore at extra indices; direct and Response/Request-backed streams should throw the intended indexed JS error instead of reaching unreachable native branches. Preserve the existing 16 selected tests, assertions, source and workload. Verify no extra descriptor/resource creation on rejection. Installed Bun 1.3.14 is older than these tests and fails this selection itself; do not use it as a passing control.
This issue is separate from raw socket-fd transfer (#495), real counter snapshots (#496), and package-script dispatch (#497). Keep #66 updated with passing selections and remaining failures separately.