be get file://<local-store>?/<proj> makes a full clone, not a store-backed worktree
be get file:///home/gritzko/.be?/dogs produces a FULL independent clone — a .be/ directory with its own per-project object stores (dogs/, libabc/) — instead of a store-backed worktree (a .be file anchoring into the shared ~/.be). So every be post from such a tree commits into the throwaway clone store and never reaches the shared trunk, and the colocated real worktree sees nothing. This is the root cause of a whole fix-and-land batch "landing" into dead stores. Repro: mkdir t && cd t && be get "file:///home/gritzko/.be?/dogs" && file .be → directory (expected: a regular file). See GET, Submodules, Issues, CLAUDE, storedirect-worktree.
The local-store file:// clone form builds an independent store, not a worktree.
be get file://<store>?/<proj> writes a .be/ dir with its own object store; a store-backed worktree (.be file → shared ~/.be) is expected.be post from the tree advances only the clone's local trunk; ~/.be/<store> and the colocated wt never see it — work is landed nowhere visible.be get file:///home/gritzko/.be?/<proj> gives a store-backed worktree ("shares the global store, no full object copy"); it does not.be://host?/<proj> behavior; the local file://<store> form should attach a worktree.
Ties to the BEGetWorktree path_is_store branch and storedirect-worktree; coordinate with GET-011 (in-flight sub-source).
The local-store file:// form attaches a worktree.
be get file://<local-store>?/<proj> lays down a .be FILE anchoring the shared store, not a .be/ dir clone..be is a regular file and that a be post from the tree advances the shared ~/.be/<store> trunk (and the colocated wt).be://host?/<proj> as the full-clone (own store) path.