be get file:/…/.be?/proj fails — trailing-slash store-path detection
be get file:/home/…/.be?/proj errors cannot restore … — no baseline in .be/wtlog instead of attaching a worktree, while file:///… works. Root cause (pinned by the v1/v2 workers): store-path detection in beagle/BE.cli.c:813 runs PATHu8sBase(base, prim_s) on a path ending in /.be/ (trailing slash); PATHu8sBase (abc/PATH.c:39-48) stops AT the trailing slash and returns EMPTY, so u8csEq(base, ".be") is false → path_is_store stays NO → BEGetWorktree no-ops → falls through to BEActSingleFileGet → sniff restore → "no baseline". Narrow detection fix; the broader file:/be: transport redesign is URI-006. Method: Issues.
be get file:/home/gritzko/beagle-journal/.be/?/beagle → exit 157
cannot restore /home/gritzko/beagle-journal/.be/ — no baseline; the file:///… (authority-present) form routes to the worktree fine. Same code path, slash count only changes whether the trailing-slash basename bug is hit.
be writes the trailing-slash store form into .be/wtlog
(sniff/AT.c repo anchor, path …/.be/); re-feeding that stored form hits the same empty-basename bug, so the form be emits cannot be re-consumed.
be get file:/…/.be?/proj (any slash count) attaches/updates the shared-store
worktree, identical to file:///…/.be?/proj; the wtlog-stored form round-trips.
/ before the .becompare (or a dir-aware basename) — no hand-rolled parsing beyond that (CLAUDE).
be:/file: role redesign is URI-006.file://…, be://…, or bare local-path args. Repro-first..be basename compare at the
path_is_store test (BE.cli.c:813), so a …/.be/ store path is recognized.
be get file:/…/.be?/proj fails today →attaches the shared worktree after the fix (red→green); wtlog form round-trips.
d09bd197: beagle/BE.cli.c trims one trailing / from the store
path (u8csHeadS) before the .be basename test — fixes detection AND the .be// round-trip trap in one place. Repro test/get/59; get suite 72/72.