Tracks a focused part of #66.
At Bun source pin 4982b91e3702094330f3be3883354c52b8c01323, the native S3 corpus currently reports 74 pass / 1 fail / 6 TODO. The sole failure is js/bun/s3/s3-stream-error-gc.test.ts: a stream error parked before consumption is recycled after forced GC (observed as a decoy TypeError).
Root cause: Home stores Result.StreamError.JSValue as an unrooted raw jsc.JSValue. Bun’s authoritative Rust implementation stores it as jsc::strong::Optional and releases that ownership only when the stream result is consumed or discarded.
Acceptance criteria:
- Port strong ownership through all shared stream-error producers and consumers, without disabling/suppressing GC.
- The unchanged
s3-stream-error-gc.test.tspasses. - The full native S3 directory passes with no failures.
- Existing cancellation/leak and related fetch/request stream error paths remain passing.
- Add focused local regression coverage if the corpus test is not part of the normal local aggregate.