jab JS runtime (née jabc)
jab is the standalone JavaScriptCore runtime (the beagle/js/ bindings), divorced from be: be runs no JS, and jab [path] args runs an explicit path directly or resolves a bare name via an upward be/-dir scan. Scripts live in the be/ submodule (beagle-ext). The fix-and-land method is Issues.
pack.hpp's fourteen per-object primitives exist so JS can drive the ingest record loop, and KEEP-006 moves that loop into libdog, so the clone path becomes roughly one git.repack(fd, head, shardDir) call crossing the boundary once per fetch instead of ~11.7M times. head is required (JS eats the pkt-line preamble first). Blocking-vs-chunked and progress reporting want deciding before the signature is written.buf.cpp Buf cursors coerce with | 0 (int32): io.mmap of a ≥2GiB file seeds _idle = len|0 NEGATIVE and .data()'s subarray(0, _idle) goes end-relative — a silently WRONG short view, no throw; git.pack.mmap on a multi-GB keeper log native-aborts. THE wall after GET-044's streamed 6.4GB pack lands durable (can't index/checkout linux). C/JSC layers verified innocent. Filed 2026-07-14.buf.cpp breaks the API.md buffer contract: Buf.feedStr:48 silently truncates on full IDLE (no NOROOM); io.book/b.close()/b.trim() documented at :124 but unimplemented (no deterministic unmap → blocks BE-017). From the 2026-07-07 be/ review. Filed 2026-07-07.
Landed: JAB-002 7d72e138/949f4a2, JAB-003 subsumed by JAB-004, JAB-004 11e4dddc, JAB-005 46f87bcd..91fd5f14 + github.com/gritzko/jab b58be37.