Found 2026-07-14 on the journal repo (journal/be, jab): jab status reported 91 ok and emitted NO status test hunk; be/test/.be was gone while all 301 sub files were byte-identical to the gitlink pin a3b37c7b. The sub was intact — only its anchor had been deleted.
shared/submount.js:334 — mount()'s catch-all does try { io.unlink(anchorPath); } catch (e2) {} (the GET-037 atomicity rollback), deleting the anchor on ANY throw.mount() OWNS the anchor; on a RE-mount of an already-mounted sub it deletes an anchor it found, not one it created — a healthy sub is demoted to unmounted.mount() writes the anchor at submount.js:319 BEFORE store.open (:326) and checkout.apply (:327), so the anchor is live during the steps most likely to throw; the same write-then-checkout order repeats in the local-source reuse branch (:277-280).X is not a function from a stale require cache in a live jab session (a known quirk) — any transient blip becomes permanent damage.get re-runs mount() for every sub on a same-tip reconcile (noPrune, verbs/get/get.js:351-352) — verified: a bare re-get prints a new test row.be/.be: line 53 26714CGTBr get ?#33295788 is a same-tip reconcile; be/test mtime 13:26:16 precedes the line-54 FF get's own record (13:26:24).new test row on an FF), so the sub stays lost until a same-tip reconcile happens to re-mount it.ok: STATUS-007.store.open(beDir,'beagle-ext-tests') OK, and force / dirty-sub / FF re-gets all preserve the anchor). The failure was state-dependent; the rollback is what made it permanent.be.find to resolve.submount.js:340-342.store.open → checkout.apply → ulog.write(anchorPath, …), then DROP the unlink from the catch entirely.checkout.apply takes k explicitly and never reads the anchor, and oldPin is already read up-front at submount.js:312 (GET-040).mod/adv), which is the recoverable, visible failure we want.submount.js:277-280).mount() that throws after the anchor write → anchor SURVIVES at its prior pinmount(); drop io.unlink(anchorPath) from the catchjab status in journal/be still emits the status test hunk after a same-tip reconcilebe/test/.be restored 2026-07-14 by a same-tip jab get reconcile (re-mount); status test hunk renders again (301 ok, behind 1).