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.
jab get of beagle-ext loops resolution through the checked-out be -> . (partial checkout), a retry self-hosts jab from that partial tree, native ASan be get stack-overflows after a sniff miss (hexlen=15 diag anomaly). Umbrella over GET-036/GET-037/GET-038/GET-039; until landed, workers clone the WORKTREE source (jab get file:…/journal/be). Filed 2026-07-07. Audit same day: the established-wt clone guard (get.js seedRemote) landed in 50e90012; the jab run-pin (require.cpp per-require upward scan) + the native sniff ASan abort remain.120000 symlink is a leaf (target == blob bytes), classified/committed/checked-out generically, never mounted or recursed. Dissolves ALL be self-locator special-casing of GET-036/GET-037. be/ JS; own worktree. Filed 2026-06-29. PARTIAL (audit 2026-07-07): core landed 3026a5fb+d31b52ea (tests test/sub/symlink/selfloop, special-casing gone); formal close pending GET-041.jab get from a WORKTREE source (file:<wt>?/proj) records the worktree path as the store anchor → jab status reports everything unk (baseline unresolvable; the wt is a redirect, not a store). Must record the resolved real store. GET-037's deferred worktree-source stretch. Filed 2026-06-29. PARTIAL (audit 2026-07-07): redirect fix + test/sub/wtsrc in-tree, but NO ticket-coded landing commit — pending hashlet/suite confirmation.jab get of beagle-ext crashes on the be self-gitlink: DIS-058's mount-recursion sub-mounts the self-locator (no .gitmodules entry) → SUBFETCH/raw Not a directory (worktree source) + partial checkout. Must materialise be -> . like GET-036, not sub-mount. Filed 2026-06-29. PARTIAL (audit 2026-07-07): crash class fixed dbb828e6+064c15f5 (.gitmodules gate, atomic sub-mount); beagle-ext end-to-end still fails per GET-041.be get leaves an empty be/ dir, and every be/jab run recreates a <wt-basename> -> <abs-wt> symlink instead of be -> . (only correct when the wt dir is named be); jab then loads stale /tmp/be scripts. Filed 2026-06-29. PARTIAL (audit 2026-07-07): checkout + SNIFFSubIsMount fixed b24446c0/f0269b27; Bug-B verification + repro tests + jab local-script resolution open under GET-041.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 --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.be get of an offline submodule mount reports <n> ok but materializes ZERO files (empty dir) when the remote is unreachable yet the pinned objects are local; a fetch-fail with locally-resolvable objects must still run the checkout. Surfaced by the JS-042/JS-043 worktree setup (offline abc).graf/GET.c sizes base_ids/tgt_ids membership maps at 4096 slots while GET_MAX_VERS=200000; a file with >4096 versions silently drops ids via an unchecked u8bFeed1 SNOROOM (correctness loss, not a crash). Flagged from the PATCH-004 audit.
GET-040 HIGH (non-force jab get deleted UNTRACKED files, incl. via sub recursion — only get! may clean) landed 0092271c: checkout.js apply force/oldTip model (unlink only tracked deletions, preserve dirty), sub pin+force threaded via submount.js; repro test/sub/untracked. GET-031 HIGH (be get silently overwrote put/patch-STAGED content) landed 8a1f8413: get_pending_stage_stamp routes pending-staged paths to the same weave-merge arm as unstamped edits; two-arm repro test/get/66-staged-overlap-merge. GET-028 (be execs a stale keeper helper → opaque ZINFFAIL clone) landed 39641d17: add_dependencies(be-cli keeper-cli spot-cli graf-cli sniff-cli) in beagle/CMakeLists.txt. GET-014 (back-regress arm: be get trunk re-sync FF-gated via KEEPIsAncestor, keeper/REFS.c reachability-aware) landed b89011fa; repro test/get/57, adversarial test/get/58.
GET-033 (be get …?/<shard>#<sha> dropped the explicit pin — always took trunk tip) landed f425d6a8: BE.cli.c carries the fragment (pinned_explicit), sniff/GET.c gates the empty-query NULL-out on u8csEmpty(u->fragment), + repro be-get-store-shard-pin. (be head ?/<shard> hang + //#hash anchor replay noted, did not recur.)
GET-030 (be get be://host wire keeper: not found — wcli_remote_path() auto-carries the remote dog PATH) landed bbb3692f. GET-029 (bare-post wtlog tail "no baseline") CLOSED — subsumed by DIS-049 9e80e5f0 (single-project clone; test/get/55 covers it).
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).