JAB-007 JS: Buf cursor | 0 int32 coercion caps every mapped view at 2^31-1 io.mmap of a >2GB file returns a silently WRONG view, git.pack.mmap ABORTS on multi-GB keeper logs

Now
OPEN
Sev
HIGH

jab's JS Buf class (the buf.cpp prelude) coerces its _data/_idle cursors with | 0 (signed int32). io.mmap wraps every file mapping in Buf.over(u8) which seeds _idle = u8.length | 0 for any file 2 GiB that wraps NEGATIVE, and .data()'s subarray(0, _idle) then reinterprets the negative end END-RELATIVE, silently returning a short/garbled view (no throw). git.pack.mmap rides the same wrapper, so scanning a multi-GB keeper log feeds nonsense windows to the native pack scanner and the (ASAN) process ABORTS. This is the wall that blocks GET-044's linux-scale clone AFTER the streamed pack lands: a 6.4 GB 0000000001.keeper is durable on disk but can be neither indexed nor read. The C and JSC layers are NOT at fault (verified see Context). Method: work.

Input

Context

Goals

Constraints

WIP

TODOs

Outcome