A submodule whose mounted worktree HEAD has advanced past the parent tree's 160000 gitlink pin — e.g. via a standalone be get inside the mount — is reported by be status/be head as clean (0 ahead, 0 behind, 0 changed, blank pin), and a bare be post records nothing; the bump lands only after a manual be put <sub>. Same invariant as PATCH-001, which covers the be patch arm — this is the get / manual-mount arm. See Submodules, PATCH-001.
Advancing the beagle sub of beagle-journal with be get ssh://localhost/src/dogs?/main (inside beagle/) moved its wt 5a95cd15 → 3b41fa69, but the parent never saw it:
status:beagle/abc ?6e3b93f8… 237 ok <- pinned, sha shown
status:beagle ? 1272 ok <- advanced, BLANK pin, no ahead/behind
be head beagle: ?trunk: 0 ahead, 0 behind, 0 changed
beagle at 5a95cd15 while its wt sits at 3b41fa69; be status/be head report neither an ahead count nor a "changed" gitlink, so the inconsistency is invisible.?/beagle/.beagle-journal dot-branch exists in the beagle shard refs — the advanced commit is unanchored in the parent's store.be post records no bump; the new pin lands only after a manual be put beagle + be post (same manual escape PATCH-001 hit on the patch arm).be status/be head report a mounted sub whose wt HEAD differs from the parent gitlink pin as ahead / changed, never clean.be post auto-stages the parent gitlink put-row for an ahead sub (NO manual be put <sub>) and auto-creates ?/<sub>/.<parent> at the new pin (Submodules detached-sub topology).160000 pin independently of the surrounding tree; a forward pin is take-theirs and stages a put-row.SNIFFSubReadTip / .be anchor, not a new parser; ABC style, sniff/keeper edits, not abc/.—
mod — landed earlier via SUBS-027's SUBSDirty Advanced axis + test/status/02-sub-pin-classify. (be head per-sub pin axis still → SUBS-027b.)be post auto-stages the bump for an ahead sub with NO manual be put — confirmed working on trunk and locked with guard test/post/49-sub-advanced-autobump. The shared tip-vs-pin gate (SUBS-029, sniff/PUT.c) keeps it correct (stages iff tip ≠ pin).?/<sub>/.<parent> (R2 keep-alive) at the new pin — landed via SUBS-027b 0c67bea8 (anchors R2 on an advanced-clean bump).test/post/49-sub-advanced-autobump advances a sub past the pin, then asserts a plain post lands the new pin (no manual put).sniff/PUT.c sub-mount short-circuit); patch/35 + post/49 both green.—
3fd64016 (the SUBS-029 commit): the tip-vs-pin gate makes a plain post land an advanced sub with no manual be put. Status side already landed by SUBS-027 (status/02).0c67bea8 (advanced-clean bump anchors ?/<sub>/.<parent>).be head per-sub pin axis — landed b9c6b647 (SUBS-027b "be head flags sub advanced past pin"; beagle/BE.cli.c per-sub advanced mark, tests head/04+05). CLOSED (audit 2026-07-07): status, post and head arms all landed.