DIS-073: bare be get fast-forwards the worktree to the TRUNK tip while recording the current branch

Now:
DONE

inRepoSeed's D3' arm resolves the tip from the RAW query, not from the branch it is about to record: branch = query is "" for a bare get (also for ! and ?), so tip = k.resolveRef(branch || "") returns the TRUNK tip (store.js:420-442 keys "" to the trunk and has no "current branch" key), while wantBranch = branch || curBranch — and the appended row is get ?<curBranch>#<trunk-tip> (get.js:514-520). On any non-trunk worktree a bare be get therefore checks out the TRUNK and mislabels the base as the branch's, silently: post then takes its parent from that base (post.js:581), status computes divergence against it, and the classifier reads it as the ours baseline (classify.js:226). The comment two lines above states the intended behavior ("an empty/absent query folds to the current branch", get.js:511-513) and worktree:44-48 + GET:32 agree ("bare: FF the wt to cur's branch tip") — a plain defect, not a spec gap. Invisible on a trunk wt (curBranch "" → the trunk IS correct), which is why the test set misses it.

Input

Context

The resolve reads branch, the record writes wantBranch; the two differ exactly when the worktree is not on the trunk.

Goals

Resolve what you are about to record; keep ? an explicit trunk switch.

Constraints

Minimal fix, D3' only — this arm is load-bearing for every other verb's baseline.

WIP

Design decisions

TODOs

Blockers and bummers

Outcome