.be/ makes the FIRST jab get into a worktree throw ToBigInt in hashlet60FromBytes — a second get succeedsClone into a scratch worktree that already carries an empty .be/ directory — the shield test/lib/repo-setup.sh rs_fresh_wt/rs_shield plant in EVERY test worktree — and the first jab get dies with TypeError: Invalid argument type in ToBigInt operation from hashlet60FromBytes ← locate ← getObject ← commitTree ← fanoutWholeTree ← get. Re-run the SAME command in the SAME worktree and it succeeds, so the bootstrap leaves something half-written that the first pass reads as undefined. A worktree with NO .be/ at all clones correctly first time. This is load-bearing: rs_fresh_wt is THE shared repo-setup procedure, so anything built on it is one transport away from this. Found by the TEST-004 treadmill; method Issues.
22bec7d6), three lines: mkdir -p $HOME/tmp/wt/.be; cd $HOME/tmp/wt; jab get 'http://127.0.0.1:PORT/repo' against a smart-HTTP git upload-pack — first run throws, second run prints ?master#<sha> and checks out correctly.TypeError: Invalid argument type in ToBigInt operation / BigInt@[native code] / hashlet60FromBytes@ / locate@ / getObject@ / commitTree@ / fanoutWholeTree@ / get@..be/): first run succeeds, tree correct. That is the only difference.test/lib/repo-setup.sh §"HOW this lib achieves isolation": an empty .be/ dir is documented as the fresh-bootstrap anchor — "the first be/sniff command bootstraps it into a real store in-place". That bootstrap is what misbehaves.test/get/http/run.sh does NOT hit it: getcase.sh makes $WORK/jT with no .be, so the passing ctest case takes the working shape..be firewall FILE above them; that is a workaround, not a fix.The first jab get into an empty-.be/-shielded worktree behaves exactly like the first get into a bare dir.
hashlet60FromBytes never receives an undefined/short value — whatever locate hands it is a real byte range or a clean miss.fanoutWholeTree reads it, or locate reports "not in the store" instead of crashing.TypeError with a stack (the standing ruling on error wording)..be/ shape, since it is the shape every test worktree uses..be/ shield: it is the documented isolation anchor and the firewall depends on the pair.be/ JS only; the fault is in the JS read path, not in a binding.be:/file: want a beagle store). Re-run the repro over ssh before scoping the fix..be/ worktree + first get.locate returns on a freshly-bootstrapped-but-empty shard and why hashlet60FromBytes gets a non-BigInt-able value.home_dir_no_subdirs reads the two differently).be:/file: whether the transport matters at all.rs_shield shape.Not started — filed 2026-07-27 from a TEST-004 treadmill finding.