2e9a39d28e
reconcileRegistryDrift only healed remote/cloud v1 routes. A v1 global mode:'ssh' route (host, no url) written by Settings after the one-shot migration had no registry identity: resolvedConnectionId returned null, primary stayed 'local', and every launch re-homed the window onto a fresh local backend. Because the heal skipped SSH entirely, the two config files re-drifted after every update relaunch instead of converging once. Normalize the v1 SSH descriptor into a v2 kind:'ssh' entry (via the same validated normalizeConnectionInput path the editor uses) and align primary/lastUsed, with the same narrow-heal rules as remote: already- registered targets and deliberate primary picks are left alone, and unusable hosts never touch the registry. Diagnosis credit: mgallmur-glitch (root cause) and jakewvincent (re-drift after update relaunch) on #93888.