-- **`rsync` gets the x64 zip, and its `ssh.exe` is verified by running it.** The
- release publishes x64 and x86 assets and no ARM64 one. x64 is still the right
- pick — a transfer is bounded by the socket, not by emulated CPU, so lifting the
- in-box client's 3 KB stdin cap wins by far more than emulation costs. But that
- `ssh.exe` links against a `System32\libcrypto.dll` which on ARM64 is an **ARM64**
- binary, so it may not load at all. That matters more than it sounds:
- `rsync.exe` *prefers* an `ssh.exe` in its own directory, so a present-but-broken
- one does not degrade to the in-box client — it breaks rsync outright, with an
- error that names a dead remote shell rather than `ssh.exe`. The elevated half
- therefore runs `ssh -V` after unpacking and **deletes** the binary if it will
- not start, so `rsync` falls back to the native in-box client. The
- `core.sshCommand` step in the non-elevated half already picked its candidate by
- running it, and is unchanged.
+- **`rsync` is native on ARM64 now**, and its `ssh.exe` is still verified by
+ running it. The release publishes an `arm64` asset as of `v3.5.0-gdeeda96f`;
+ both binaries in it are `0xAA64`, and the `ssh.exe` reports
+ `OpenSSH_for_Windows_10.0p2 ... LibreSSL 3.8.2` on this box.
+
+ Before that asset existed, ARM64 took the x64 zip. The `rsync.exe` was fine —
+ a transfer is bounded by the socket, not by emulated CPU — but its `ssh.exe`
+ links against `System32\libcrypto.dll`, which on ARM64 is an **ARM64** binary
+ an x64 process cannot load. It died with `0xC0000135`
+ (`STATUS_DLL_NOT_FOUND`) and had to be deleted on every run. That matters more
+ than it sounds: `rsync.exe` *prefers* an `ssh.exe` in its own directory, so a
+ present-but-broken one does not degrade to the in-box client — it breaks rsync
+ outright, with an error naming a dead remote shell rather than `ssh.exe`.
+
+ The elevated half still runs `ssh -V` after unpacking and **deletes** the
+ binary if it will not start. The check is kept because it is what found that
+ problem, and it still covers a missing or too-old `libcrypto.dll` on any
+ architecture. An x64 `rsync.exe` surviving on an ARM64 box now shows up in the
+ audit as emulation *without* a listed reason, with a remedy pointing at a
+ re-run. The `core.sshCommand` step in the non-elevated half already picked its
+ candidate by running it, and is unchanged.