DIS-053: be head reports ahead/behind against a phantom ?trunk; URI-less be get --nosub regresses a submodule worktree to its stale .be pin

A store-backed submodule worktree (be/test, beagle-ext-tests) at its posted tip c0b8ffed was refreshed with a URI-less be get --nosub; instead of FF-ing forward it RE-APPLIED the stale .be-recorded pin ?#b8dc7f52 (1 behind the tip), detaching HEAD and REVERTING the committed+posted CMakeLists.txt and bro/lib/brocase.sh in the working tree. be get ? recovered files+commit (trunk ? tip IS c0b8ffed, per be log ?), but be head then reports ?trunk: 2 ahead, 0 behind — comparing against a NON-EXISTENT ?trunk (the trunk is ?, abs ?/beagle-ext-tests); an at-tip HEAD must read 0 ahead, 0 behind. No data lost (the commit was posted), but both the update and the status report misbehave. Hit live 2026-06-25 while refreshing be/test. Related DIS-039 (bare get = status no-op), DIS-022 (log empty in a sub/detached wt), DIS-038 (bogus ahead-count from a non-DAG tip), SUBS-026; rules in /meta/work.

Issues

be head's baseline resolves to a literal ?trunk that does not exist instead of trunk ? / the synthetic ?/project/.parent/pbranch, and URI-less get re-pins the last .be hash rather than FF-ing.

Blockers

None; data is safe — c0b8ffed is posted to ?/beagle-ext-tests/.beagle-ext/.journal and is the trunk ? tip. Re-attaching the wt to the synthetic branch is a commit-the-parent action per /meta/work.

Design decisions

Both defects share a root cause: the sub at its posted tip sits on its SYNTHETIC dot-branch, but head/get fell back to the sub shard's stale trunk ?.

TODOs

-v head baseline: synthetic-branch tip target — graf/LOG.c:851. -v head trunk label ?trunk?graf/LOG.c:1138. -v bare get no backward revert on synthetic tip — sniff/GET.c:1321. -v repro test (file://, no ssh) — test/get/66-dis053-sub-tip-no-revert. -v be/ refs.js trunk label ?trunk? (JS-side parity follow-up).

Outcome

LANDED (audited 2026-07-07): d6f7e138 "DIS-053 be head synth baseline; URI-less get no revert" (beagle, 26Jun) + the be/ follow-up cf077a19 "DIS-053 refs.js: bare trunk sigil not literal trunk" (be, 26Jun).