25ec01f79f
`hermes desktop` / `hermes update` recover from a corrupt Electron download by purging the cached zip + re-downloading and retrying the pack, and then by falling back to a public mirror. That recovery is only meaningful when the packaged executable is MISSING — the signature of a partial/corrupt unpack. A LATE failure such as macOS code signing (#40187) leaves `Hermes.app/Contents/MacOS/Hermes` (or the platform equivalent) in place. Re-downloading Electron can't repair a signing failure, so the purge + slow mirror retry just grind through another identical failure before the build finally errors out. Gate both recovery blocks on `_desktop_packaged_executable(desktop_dir) is None` so a build that already produced the executable fails fast instead of triggering the destructive download recovery. The corrupt-download path (executable missing) is unchanged. Salvage of #42782, re-applied onto current main (the surrounding recovery was refactored to `_electron_dist_ok` / `_redownload_electron_dist` since the PR was opened). Adds a regression test asserting no purge / mirror retry runs when the executable exists, and updates the existing retry/mirror tests to model the corrupt-download case (executable absent) the recovery is actually for. Related to #40187 (the residual cache-purge sub-issue; the signing failure itself is fixed by #52591).