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