KEEP-002: ?main advanced to a commit whose object is absent from the keeper → be get ?main dies KEEPNONE (dangling ref, main unreachable)

Concurrent be posts from multiple store-backed worktrees sharing one store (~/.be/beagle) advanced the shared ?main ref past the objects/index actually written to the keeper, leaving ?main pointing at a commit the keeper can't resolve. be get ?main then dies:

$ be get ?main sniff: object not found: hex=0b987f41… hexlen=15 hashlet=00b987f41c54745b source=?main

root=/home/gritzko project=beagle cur_branch= leafdir=/home/gritzko/.be/beagle packs=1 keep_err=KEEPNONE

Error: SNIFFFAIL

The committed history is NOT lost (objects up to the last reachable commit are intact); the ?main ref is dangling, so main is currently unusable until the ref is repaired or the missing objects are recovered. See Keeper, ULOG, Issues.

Issues

Surfaced when a lagging worktree ($HOME/beagle at a2e2300c) tried to catch up to ?main.

Impact

?main is a dangling ref: be get ?main / be head ?main fail, main cannot be checked out. No committed data is lost — everything up to the last reachable commit (a2e2300c) is intact. Recoverable, not catastrophic. But it means a be post (or concurrent posts) can leave the canonical branch unreachable — a serious store-integrity break.

Blockers

Planned