Parent tracking: #202 and #66.
Home diverges from the current /Users/chris/Code/bun Archive implementation and corpus in two security-sensitive extraction cases:
- GNU longname entries longer than the fixed OS path buffer are normalized without an upfront bounds guard and can abort or hang the child process;
- a normalized pathname whose component stack climbs above the extraction root can reach mkdirat/createFile relative to dir_fd and create entries outside the requested directory.
The upstream archive fixture in packages/runtime/upstream is also one test behind the pinned Bun checkout.
Acceptance criteria:
- Port the current Bun overlong-path guard into the real Zig libarchive extractor.
- Reject only relative component paths that actually climb above the extraction root while allowing safe forms such as a/../b.
- Add focused unit coverage for the containment predicate.
- Sync the upstream archive test byte-for-byte from the pinned Bun checkout.
- Remove Archive’s fixture-specific blanket using/await using rewrite and rely on shared resource-management lowering.
- Match pinned Bun in Debug and ReleaseSafe, strict and routed modes: 101 pass, 1 platform skip, 0 fail, 10,473 expect calls.
- Do not weaken fixtures, assertions, deadlines, or workloads.