SUBS-024: POST sub-push ignores parent-kind source resolution (live gap)

SUBS-020 landed a POST mirror meant to route each recursed sub commit to the SAME place GET would fetch it from — same peer (beagle), parent-relative (git non-.git), or official (git .git) — but a live be post to a git fs-path destination pushed the sub to its OFFICIAL url instead of the parent-relative path, so an unrelated unreachable upstream aborted the whole post. POST must apply the three-case resolution + fallback for real, the way GET already does. See SUBS-020, Submodules.

Input

Context

Three source cases (user's framing; identical to SUBS-020):

Context — live repro

be post ssh://localhost/src/dogs (beagle parent → git fs-path destination):

Goals

POST routes each sub-push destination by the parent/destination kind, with fallback.

Constraints

WIP

Design decisions

Root cause (traced, repro'd): case 3 fed the .gitmodules url to SNIFFSubCandidateGitRel; an ABSOLUTE url resolves-to-self → NONE → the official url wins. Split case 3 by url FORM — four cases, keyed on the remote (dest for POST, src for GET), all reusing the SAME resolver:

TODOs

Blockers and bummers

(none yet)

Outcome