Drives the actual #12967 sequence end to end: a legacy repo whose
persisted `upstream` was stripped, an app relaunch, then an SSH connect
that must backfill it and render the fork badge with no settings visit.
Deterministic and offline — getRepoUpstream short-circuits on the
`upstream` git remote before it reaches `gh`, so the container's two
remotes decide the answer with no GitHub auth or network.
Verified by revert: with the fix backed out, upstream stays unresolved
for the full 90s after connect.