The test files were COPIED across both sides — every test now exists in
the binding tree AND the be/ script tree. An agent must sort each file by
what it tests and DELETE the copy on the wrong side: JABC binding tests
keep their copy in beagle/{js/test,test/js} and lose the be-side copy;
be/-script tests (verbs, views, core units, parity/, lib/) keep their
copy in be/test (beagle-ext submodule) and lose the beagle-side copy.
No moving, no SCM patch dance — the copies already exist; this is classify
+ rm the redundant one, then rewire the build. In the src/journal
layout (a git repo of submodules), replacing old beagle-journal/. Issues.
be→beagle-ext (JS scripts), beagle→core
C/C++ + JABC bindings, html→site. be <name>/jab runs the be/ shard.beagle/test/CMakeLists.txt GLOBs test/js/{get,post,put,delete}/*/run.sh
into be-js-<verb>-<case> ctest targets (if(WITH_JS)) — these drive be/
verb scripts, so they are be-side and their beagle copy must go.rm'd.beagle/test/js + beagle/js/test (JABC surface only).be/-script tests → be/test (in the beagle-ext submodule).rm; a wrong delete loses the test.be/{core,shared,verbs,views,view}
script → be-script, home is be/test. Keep that copy, rm the other.beagle/test/js: be-script (→ be/test, rm from
beagle) = verb dirs get/put/post/delete/patch, views bro/diff/ls/regex/spot,
core units loop/emit/resolve/barrier/store/ulog, parity/, lib/. Binding
units already in beagle/js/test stay; ulog.js has a copy on each side —
keep the binding one in js/test, the be/shared one in be/test.BE_BIN/JABC) exported by the
parent build; the be shard carries no C build.ulog.js
collides — two genuinely DIFFERENT tests). be/test did not exist. So the
task is MOVE+rewire (single-copy files), not delete-dupe; nothing to rm.be/test/ and ported lib/assert.js + the two LIVE, wired,
portable be-shard unit tests ulog.js (shared/ulog) + store.js
(shared/store) — both run on jab via the upward be/-scan, both green.if(EXISTS ...).
(Did NOT touch the be-js-* GLOB in beagle/test/CMakeLists.txt — see below.)e542b67e "jab: main.js bootstrapping scheme; move be tests
out" re-homed it to be/test/ (own CMakeLists, be-js-<verb>-<case> glob,
_BE_WILL_FAIL xfails), and d80bdb5c de-nativified the cases. The former
beagle test/js glob block is GONE (beagle/test/CMakeLists.txt:223-224).be/test/{barrier,emit,loop,resolve}.js with the move (no longer in
beagle/test/js).e542b67e + d80bdb5c; js/ itself became a submodule, JAB-005 46f87bcd.)rm. Verify the correct side is populated before deleting the dupe.BE_BIN/JABC contract before relying on be/test for the green count.be/test + parent gitlink bump are
separate posts; serialize them (one shard at a time).beagle/test/js and be/test was absent. So this was a sort+move, not a
delete-the-dupe.be/test/ with lib/assert.js, ulog.js, store.js (the two
live, wired, portable be-shard unit tests). Deleted the now-redundant
beagle/test/js/{ulog,store}.js. Rewired the js CMakeLists
(JABCulogLib/JABCstore → ../be/test/*.js, guarded — JS-063 0c2063ee).e542b67e
("move be tests out", 2026-06-25) + d80bdb5c ("js tests pass, no native
use", TEST-003) — the whole be-js-* suite (verbs/views/parity/case libs +
the JSQUE repros) now lives in be/test/ with its own CMakeLists; binding
tests live in the jab runtime repo test/ (js/ became a submodule, JAB-005
46f87bcd). beagle/test/js keeps only the beagle-owned binding fixtures
get/{zip,delta}.js + lib/assert.js (EXISTS-gated from the js CMake) —
every test has exactly ONE home; the JS-061 goal holds in the new layout.file (current loc) class home action
---------------------------------- --------- ---------- -------------------
beagle/js/test/*.js (ansi codec binding beagle KEEP (already home)
git hash heap hit hunk index
mmap net pack packidx pol
require sha stat tok tty uri
weave) + jabc_test.cpp +
run-015/054/055.sh + ulog.js(abc)
beagle/test/js/get/zip.js binding beagle KEEP (tests zip)
beagle/test/js/get/delta.js binding beagle KEEP (tests git.delta)
beagle/test/js/ulog.js (shared) be-script be/test MOVED → be/test/ulog.js
beagle/test/js/store.js (shared) be-script be/test MOVED → be/test/store.js
beagle/test/js/lib/assert.js helper both COPIED → be/test/lib
(kept on beagle: still sourced)
beagle/test/js/{get,put,post, be-script be/test LEFT (harness rewrite delete,patch}/*/run.sh + needed — deferred) lib/{get,put,post,patch}case.sh beagle/test/js/{bro,diff,ls,regex, be-script be/test LEFT (deferred, as above) spot}//run.sh + /lib/case.sh beagle/test/js/parity/* be-script be/test LEFT (deferred, as above) beagle/test/js/{barrier,emit, be-script (?) LEFT (stale repro, flagged) loop,resolve}.js (repro) beagle/test/js/lib/{parity,reanchor be-script be/test LEFT (harness deps, deferred) } + put/{dumprows,mtimeinv, parentsha,tipsha}.js + parity/dumprows.js