be get ?/proj baseline breaks on a bare-post wtlog tail
Surfaced during JS-025 worktree setup. be get file:<store>/.be/?/beagle (create a store-backed worktree) failed with "no baseline in .be/wtlog" because the store's wtlog HEAD was a post row carrying the sha in the FRAGMENT, while the baseline resolver reads only the QUERY slot. Worktree creation breaks whenever the last wtlog row is a bare post. Method: Issues.
post ?<branch>#<sha> (sha in
#frag, empty query), be get file:<store>/.be/?/beagle aborts "no baseline in .be/wtlog". A sibling worktree's .be pointer (which had an explicit ?<sha> query) worked, confirming the slot mismatch.
SNIFFAtCurTip / SNIFFAtQueryFirstSha resolve the baseline from the QUERY
slot only; a post row puts the committed sha in the FRAGMENT.
.be pointer.be get baseline resolution falls back to a get/post/patch row's
FRAGMENT sha when the query slot is empty, so fresh worktree creation works regardless of whether the wtlog tail is a get or a bare post.
sniff/AT.c — SNIFFAtBaselineTreeSha
/ SNIFFAtCurTip / SNIFFAtQueryFirstSha); no manual parsing — use the URI lexer's fragment slot. Don't regress the query-slot path.
the latest sha-bearing row's fragment. Mirror how be log/status read tips.
post, assert
be get file:<store>/.be/?/proj succeeds (currently aborts). Red→green.
9e80e5f0 (2026-06-21): the "no baseline" on a
bare-post/secondary-wt source was fixed within DIS-049 (secondary-wt source recognition + baseline reading the post-row fragment sha). test/get/55 covers exactly this shape. No separate fix needed.