SUBS-038: a sub re-get whose .gitmodules url BASENAME changed since the first mount fetches the wrong shard → object-not-found

When a submodule's declared .gitmodules url BASENAME differs between the original mount and a later re-get (GET or whole-tree PATCH), the re-get fetches into a shard named by the NEW url basename while the existing mount + checkout live under the OLD basename. subs_pin_present / KEEPHas then reports the pin present in the wrong shard, SubMount short-circuits, and the spawned sniff get <pin> opens the mount's shard and fails object not found / SNIFFFAIL / BEDOGEXIT. Found while building the PATCH-005 hermetic fixture; not the real dogs/journal flow (url basenames are stable there), so low priority — but a real latent gap.

Input

Context

Goals

Outcome