Follow-up to #66 and #514 after the internal stream-wrapper checkpoint.
The byte-identical pinned Node file js/node/test/parallel/test-stream-pipeline.js is the only remaining failure in the 252-file test-stream* scan. Its HTTP/1 case beginning near line 271 sends unframed follow-up bytes after a keep-alive response. Node rejects the malformed continuation with a 400 response and closes, allowing the pipeline to settle. Home waits for more bytes in the method token and the parent times out.
The pinned local Bun release (1.4.0-canary.1+4982b91e3, source 4982b91e3702094330f3be3883354c52b8c01323) reproduces the same timeout and empty response sequence. That control establishes that this is not a Home-only regression, but it remains a failing Bun/Node compatibility boundary and cannot count toward 100% logical suite parity.
Current checkpoint 0be19c718 advances the exact 252-file scan to 251/252 by implementing the three wrapper fixtures. No upstream source, assertion, workload, deadline, retry, skip, or fallback changed.
Acceptance criteria:
- the complete unchanged
test-stream-pipeline.jsexits naturally within its original behavior/deadline; - the isolated malformed HTTP/1 case matches Node's terminal response/close and pipeline settlement semantics;
- valid keep-alive and pipelined requests retain their existing behavior;
- the full byte-identical 252-file stream scan reaches 252/252;
- lifecycle, VM-destruction, JSC exception-check, native build and scoped runtime-unit verification pass;
- any divergence from the pinned Bun parser is documented as an intentional Node-compatibility repair rather than hidden by a timeout adjustment or test bypass.
Prior diagnostics: zig-out/http1-pipeline-{lifecycle,pinned}-results.json, http1-wrap-flag-results.json, pipeline-blocks-results.json, and http-pipeline-chunks-results.json.