The wtlog row-0 anchor should be ONE get row carrying title + branch + hash, mirroring the refs line-1 clone-source row, instead of encoding title/branch in the .be/<proj>/<branch>/ path. The goal is a cleaner anchor that also fixes the keeper-leaf caveat (the fetched pack landing one level too deep). The canonical shape is <ts> get file:<store>/.be/ ?/<title>/<branch> #<hash>: the PATH locates the store root, the QUERY carries project+branch in the standard absolute ref grammar, the FRAGMENT is the checked-out tip (empty for a tip-less fresh init). See Title, Store, Home.
Title + branch live in the anchor PATH today (.be/<proj>/<branch>/); moving them into the QUERY is cleaner and resolves the keeper-leaf caveat where a fetched pack lands one level too deep.
home_anchor_resolve; the query form carries branch directly.<root>/.be/<proj>/<proj>/ and the fetched pack is invisible to sniff.SNIFFAtTailOf → --at → keeper leaf, and legacy path-encoded stores must still open.None. Each step is land-and-stay-green; step 1 (the load-bearing compat change) is proven against existing path-encoded stores before any writer emits the new shape.
Remaining is the clone-path optimization only — an OPTIONAL cleanliness pass, not a correctness gap (the keeper-leaf caveat was the secondary/sub-clone branch mis-derivation, already fixed by steps 1/3/4).
SNIFFOpen skips its bootstrap for the get flow.GET.c ~1353) when row 0 already encodes (branch, hash).
Steps 1–4, all 213 green and behavior-preserving today; smoke-verified a secondary wt's .be now reads get file:<store>/.be/?/<title>#<sha>.
home_anchor_resolve (Home, dog/HOME.c): reads title+branch from the row-0 QUERY via the new home_anchor_proj_branch helper; legacy path-after-.be fallback. home_peek_repo_uri gained an optional query_out.SNIFFAtAnchorRef (sniff/AT.c/AT.h) builds the ?/<title>/<branch>#<hash> query+fragment; SNIFFWtRepoAnchor extended to (title, branch, hash); tip-less callers pass empty.BEGetWorktree (beagle/BE.cli.c): resolves the primary tip up front (SNIFFAtTailOf), writes a store-root anchor with title/branch in the query and the tip in the fragment.SNIFFSubMount/subs_write_anchor (sniff/SUBS.c): sub anchor is store-root path + ?/<basename> + the gitlink pin in the fragment.test/get/29-file-worktree and beagle/test/roundtrip.sh (WITH_SSH BEroundtrip) assert row 0 matches file:…/.be/?/<title>/<branch>#<40-hex>; roundtrip's stale legacy-repo grep was corrected to get. Full WITH_SSH suite 268/268.sniff/AT.md row-vocabulary + row-0 section document the bare vs sha-bearing shapes and tip-presence exclusion.SNIFFAtBaseline/SNIFFAtCurTip exclude a row by tip-presence (query AND fragment both empty), not by position; positional i==0 anchor guards removed from both SNIFFAtTailOf walks. Readers accept get OR legacy repo.