be get of an offline submodule mount reports ok but writes no files
When be get mounts a submodule whose official remote is UNREACHABLE but whose pinned objects are ALREADY in the local/shared store, it records the manifest/ref and reports <n> ok, yet materializes ZERO files (empty mount dir). A failed fetch with locally-resolvable objects must still run the checkout — 237 ok and an empty worktree must never coexist. Hit twice this session (JS-042/JS-043 worktree setup). Method: Issues.
abc's .gitmodules URL is https://github.com/gritzko/libabc.git; with the
network down, be get of the parent mounts abc, the abc fetch fails (ssh/https refused), but the pinned commit (6e3b93f8) objects ARE in the local store.
be status in the mount shows ?6e3b93f86ca5… 237 ok (objects
present) while the abc/ dir is EMPTY (no files on disk). Workaround used by both workers: copy abc/ from a sibling worktree.
be get path-form file:URL misparse; both surfaced in the same worktree-setup step.
be get
materializes the files from the local store (or refuses with a clear error) — never a silent empty mount that still reports ok.
ok count and a populated worktree stay consistent.when objects are local. Likely the fetch-fail short-circuits the checkout step.
locally-resolvable objects should still run the materialize pass.
get parent → assert the mount has FILES, not just an ok` count.
fetch-fail-but-objects-present; keep ok consistent with on-disk files.
BEActSubsGet (beagle/BE.cli.c:2065)
now DOCUMENTS "skipped when its pin is already present in the local shard (offline-safe)" — verify that skip path actually RUNS the checkout (the bug was exactly fetch-fail short-circuiting materialise), and note the JS twin already reuses an already-local pin (shared/submount.js "Already-local pin?" arm) as the model.