be: local clone never worked — wire.js classify routed an authority-less be: to ssh (fixed with DIS-058)
A be: URI with NO authority (an absolute local-store path, e.g. be:/home/gritzko/.be?/proj) was mis-classified by shared/wire.js classify as a REMOTE and routed to an ssh keeper exec, so a purely local be: clone never worked in the be/ JS port (be://localhost / be://host, WITH an authority, correctly route to ssh). Found and fixed while building DIS-058's local sub-cycle repro (which needs a no-network local be: get to drive a clone→edit→commit cycle). Fix: classify treats a host-less be: (absolute local store path, empty authority) as a LOCAL keeper exec, matching native be and the spec; the be://host ssh path is unchanged (be-js-get-be ssh parity verified intact). The fix lives in the ~/todo/DIS-058 changeset and lands with it. Scope: be/ JS. See DIS-058; method Issues.
shared/wire.js classify keyed "remote vs local" on the scheme alone, so be: always took the ssh keeper-exec path — an authority-less be:/abs/store?/proj (local) had no way to run.be runs a host-less be: as a local keeper exec; the JS diverged (latent — no JS test exercised a local be: clone until DIS-058 needed one).be: (empty authority, absolute local store path) runs as a LOCAL keeper exec — local be: clone/get works, no ssh.be://host… (authority present) still routes to ssh — no regression to be-js-get-be.be/ JS only; repro-first; keep the friendly string throws.classify branches on AUTHORITY presence for be: — empty authority → local keeper exec; non-empty → ssh. (Already implemented in the DIS-058 worktree.)wire.js classify: host-less be: → local keeper exec. DONE (in ~/todo/DIS-058).be://host ssh path intact (be-js-get-be). DONE.be-js-sub-cycle (a local be: clone→edit→commit cycle). DONE.da0c12c3 (be/ log, 2026-06-29, "DIS-058: submodule handling as per the spec") — the classify noAuth branch (scheme === "be" && noAuth → local keeper exec) merged with DIS-058; follow-up da7fa5a7. Verified in be/shared/wire.js 2026-07-07.be: clone never worked; now it does, unblocking the local sub-cycle test.