git JS package — migrate PACK / delt → git.pack / git.delta
All git/pack-log JS bindings belong in a git package. MIGRATE (hard cutover, not alias) the existing PACK container and delt.apply — which already wrap dog/git — off abc into git.*. Sets up the home for the pack-log index (the follow-on). Method: Issues.
PACK container (js/cont.cpp, abc.over("PACK") / abc.mmap("PACK"))
already wraps dog/git/PACK.c's pack core (per js/INDEX.md) — it is mis-shelved under abc. delt.apply is git delta reconstruction.
git JS package for everything git/packlog;
*migrate, not alias* (the user's call). sha1/sha256 stay generic.
git.pack(...) — the PACK container constructor + cursor (header/feed/
inflate/resolve/seek/next/count/type/size/baseOffset/ref), moved verbatim from the abc.over/abc.mmap/abc.book "PACK" family.
git.delta.apply(base, delta, out) — moved from delt.apply.abc PACK + delt forms; update js/test/pack.js
+ INDEX.md / API.md to the git.* surface.
git-bundle): the native
_pack_* / _delt_apply leaves are UNCHANGED, just re-exposed under git. No C changes, no new leaves. JABC rule #4 unchanged.
js/test/pack.js (a JABC-written log
resolves byte-identically through the dog/git OFS_DELTA chase) MUST stay green under the git.pack surface.
git is its own JABC_API_OBJECT (or a sub-bundle in cont.cpp);
git.pack is the container builder, git.delta the delta op. Match the existing isLog/build plumbing — PACK is a u8-backed log family.
be get --nosub onto current trunk (JS-022 landed); build.js/test/pack.js to git.pack; confirm it FAILS on the
removed abc.over("PACK") and PASSES on git.pack (incl. the GIT-007 vector). Red before, green after.
SEPARATE effort: an addition to the pack-log API in dog/git (a GIT-topic C prereq), then a git index binding that fills an JS-022 abc.index. Out of scope here — this ticket only stands up the git namespace.
5b11dad9 (2026-06-21): git JS package — g.git = {pack, delta}
in cont.cpp. git.pack.ram/over/mmap/book (PACK container, prototype lifted verbatim) + git.delta.apply. HARD cutover: PROTO["PACK"], g.delt, "PACK" in isLog, and the PACK _read=12 special-case removed — abc.over("PACK") now throws, delt undefined. Native _pack_*/_delt_apply leaves unchanged. Made abc.close lane-safe (booked-PACK fix). GIT-007 vector byte-identical under git.pack; js/test/pack.js ported + a cutover guard red→green; ctest -R JABC 20/20, ASAN/LSan clean.
dog/git
C addition (GIT-topic), then a git-index binding filling an JS-022 index.