bin/get.js — be get as a pure-JS extensionReproduce native be get as bin/get.js + bin/lib/*, pure JS over JABC
(libdog+abc ONLY, no keeper/sniff/graf dog linked), output-equivalent to
native across all remotes and change kinds. Validates the wire SDK and extends
the JS-027 read-only store reader to the FETCH + write + checkout path.
be get adds the WIRE fetch, pack INGEST (keeper write side), and CHECKOUT
(materialise the fetched tree → wt) + REFS/wtlog append.keeper/ (unlinkable from JABC), so it is
reimplemented in JS exactly as status.js reimplemented sniff.be get <remote> parity: same op-summary/banner AND same resulting wt state
as native, for file://, ssh://(//host), be:// remotes.abc ONLY; jabc link unchanged. Tests in test/js/get/, reusable
helpers in test/js/lib/; oracle = native be get. Method: Issues.bin/get.js entry. Read libs reused as-is.test/js/get/{file,be,git} × {new,del,mod} ×
{file,dir} — stdout (time-normalised) + wt content + be status all match
native. ctest be-js-get-{file,be,git} 3/3 (be/git gated WITH_SSH)...be.idx wtlog sidecar not written (status works without it; excluded
from the tree diff as store metadata).bin/get.js + bin/lib/{pkt,wire,ingest,checkout}.js reproduce be get
output-equivalently for file:/be:/ssh-git × new/del/mod files+dirs. Key
find (JS-040): native keeper needs the prebuilt <ron64>.keeper.idx (a
sorted wh128 run: PACK-summary entry + per-object key=hashlet60|type,
val=(off<<24)|(file_id<<4)|1) — a bare .keeper reads unk. Built it
byte-identical via pack.scan + abc.book/merge. Tests in test/js/get.be-js-get-* 3/3.