git JS package — migrate PACK / delt → git.pack / git.deltaAll 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.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.