JAB-001 BIG: divorce be from jab (rename jabcjab); be runs no JS

be currently forks the JS runtime jabc as its LAST dispatch fallback — an unknown bareword be <name> runs <wt>/bin/<name>.js (be_run_extension, JS-025). This couples a native CLI to a JS loader and keeps a doomed script duplicate in beagle/bin/. Divorce them: rename the binary jabcjab, make jab a standalone runner (jab [path] args) with its own upward be/-scan resolution, and strip ALL JS from be. Canonical scripts already live in the separate be/ submodule (beagle-ext). Method: Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

-vNew JAB topic board: todo/JAB/README.mkd + this ticket + [JAB] on

todo/README.mkd.

-vRename jabcjab: js/CMakeLists.txt targets+add_tests, main.cpp

version string + process.argv[0] head.

-vmain.cpp [path] direct-vs-bare entry. -vrequire.cpp upward be/-scan + __main; extend js/test/require.js. -vStrip be_run_extension + ext_* capture + call site; beagle/INDEX.md. -vTests: delete test/all/02-extension-dispatch; parity harnesses

jabcjab + bin/../be/; new run-055.sh ctest JABCrequireBe.

-vDocs: js/INDEX.md, js/README.md, js/API.md.

Blockers and bummers

Outcome