105e27f962
_profile_home deliberately raises for an explicit target that no longer exists (an unavailable target must never fall back to the launch profile). Nothing translated that exception, so a desktop client still holding a deleted profile turned every profile-scoped RPC (session.create/resume, config.get/set, ...) into "ws dispatch crash" + -32603. Raise a typed ProfileUnavailableError (FileNotFoundError subclass, so method-level contracts are unchanged) and map it once in handle_request to code 4064 — the code the other profile-scoped surfaces already use for "profile not found". The display-only _response_profile_name fall-back from #107831 now catches the typed error. Folds the salvaged test into the existing target-unavailable file (one invariant test covering both methods and the display helper). Fixes #107829.