be get fetches, checks out, and indexes a version/branch/project (with be head as its dry-run). Tickets below close gaps in be:// store resolution and wire-fetch sizing/dedup. Each entry is one active ticket with its live state; an entry drops off once the whole ticket lands (landed commits stay on the board's GET line). The fix-and-land method is Issues.
be://) sync umbrella: replace WIRE.c's byte-offset watermark with object-level reachability serving (closure(wants) − closure(haves)), cross-file_id serving, and a redundant-pack GC/compaction for already-bloated shards. St.1 (GET-007 latest-copy) landed; St.2-4 open.be get ssh://… aborts ZINFFAIL/WIRECLFL mid-ingest when the spawned keeper helper is stale: be-cli had no build dep on keeper-cli/spot/graf/sniff, so ninja be relinks none of them. Fix: add_dependencies in beagle/CMakeLists.txt. Verified (clone exit 0); pending land.be get --nosub won't advance a store-backed switch-worktree's ref at all (stays pinned at its base; MEM-041/042 stuck at 5104a855 while clone-shaped MEM-044 advanced), forcing fresh-clone salvage to land. Likely a .be-switch-shape FF gap (GET-012 area); .refs.idx was fresh (not the stale-idx trap). Needs a deterministic repro pinning the .be shape.be get's wt update atomic (mid-write failure → ref/wtlog/tree all unchanged). Split from GET-016 Part 1: can't just reorder the commit point (breaks test/get/09/10's documented wtlog-grows-then---force-replay model); needs stage-to-temp+atomic-swap or journal+rollback, design pass first.
GET-021 (a worktree silently diffs/statuses against an advanced cur — phantom mod/mis, revert landmine; be status now PREPENDS a cur-vs-tip post/miss commit block via SNIFF's own DAG walk) landed ef8901fa. Follow-up: the per-file stale re-materialize (the miss rows already warn the user to be get).
be get <path>?<rev> DROPS the path and resolves ?<rev> as a branch → KEEPNONE/no-op (sniff/GET.c:1711). No git checkout <rev> -- <path> parity; blob:/cat: resolve it for reading but no verb writes it back. Needed by GET-021 to restore one stale file without a whole-tree be get clobbering other WIP.
GET-020 (be get file:<wt> left a HALF-POPULATED tree + SNIFFFAIL under concurrent worktree creation) landed 49039f36. GET-026 (bare be get = default GET + resulting-state banner via the shared ROWS path; orphaned overview moved to STATUS-001) landed 1b5d3def + sub-test fix cb94e64e. GET-027 (be get be:// clone read a degenerate zero-length pack bookmark → WIRECRPT; the "off-by-one hashlet" theory was wrong, two independent bugs fixed) landed a8fa2e87. GET-023 (be get '?#<sha>' silently dropped the #fragment → landed on the tip; classify-or-reject arm + composer-built source URI) landed d6f35358; its regression GET-024 (?#<sha> recorded a DETACHED cur-tip → POSTDET, broke the SSH-gated be-put-06-triangle) landed 134b9e30 — fixed in the same arm (record trunk-state) + a non-SSH-gated guard in test/get/33-detached-refuse-commit. GET-025 (a SHORT ?#<short> recorded the wtlog cur-tip + keeper REFS tip verbatim → the 40-char-only baseline resolver read EMPTY: whole tree new, be head stuck) landed 4737404d — record the RESOLVED full sha (a_sha1hex(tgt_commit_sha)) in the row + REFSAppendVerb; step 6 in get/33 + fragref case 2. Also repaired the live dogs/refs (2 short rows the bug had written last night, blocking all posts).