be:-local not at parity with file:-local (blocks URI-006 St.3)
St.1 of URI-006 (096b425e) made a hostless be: run the keeper locally, but only reached parity for the SAME-NAME single-shard clone/fetch/push round-trip — the one shape its repro test/get/60 exercised. The URI-006 St.3 worker, migrating the ~20 file:// clone/push tests to be:, found 16/20 fail: be:<store>?/<proj> diverges from file://<store>?/<proj> in two production paths. file:-local is untouched and still works (so St.1 is incomplete, not a regression); this ticket extends be:-local to full file:-local parity so St.3 (and then St.2) can land. Method: Issues.
be_be_local_route rewrites be:/abs?/proj→be:///abs?/proj; be_file_get_route
is a SEPARATE rewrite. Sniff resolves the ?/proj selector per-arm — cross-name diverges.
par/ch/gc/src, name ≠ dest
basename), then be:$S?/par exits 157/SNIFFFAIL/BEDOGEXIT while file://$S?/par → rc 0.
?/$SHARD (SHARD = wt dir basename) worked — all test/get/60 ever tried.be:<store>?/<proj> clones a cross-name / multi-shard / git-imported store
exactly as file://<store>?/<proj> does (project-selector resolution through the be: arm).
be:-local enforces the FF / back-regress REFUSAL that file:-local does(a behind/divergent-peer re-get must refuse, not silently back-regress/clobber).
be: reach parity too (head/20,22,24 family).file:-local, be://host ssh, or ssh://.keeper_remote_uri project-selector resolution the file:// arm
carries but the hostless-be: arm drops; and the FF-guard the be: get path skips.
be:?/<proj> SNIFFFAIL — fixed. Repro test/get/61.be: back-regress — FF refusal enforced. Repro test/get/62.be: parity (head/20,22,24) — be_be_local_route on head/patch.31050b3f. ONE root cause: keeper/REFS.c::REFSResolve exempted only file:
from early REFSNONE; broadened to host-less be: — fixes both A (selector) and B (FF guard, reached only after a REFS match). Plus be_be_local_route wired into the head/patch verbs (BE.cli.c). Repros test/get/61 (cross-name), test/get/62 (back-regress). Full suite green (pre-existing be-post-relpath aside).