The Gradle wrapper had no distributionSha256Sum, so the Gradle 9.6.0 distribution was the one unpinned download in CI (validateDistributionUrl only checks the URL shape, not content). Pin it to Gradle's published SHA-256 so the wrapper fails closed on any corrupt/tampered distribution, matching the SHA-256 integrity pin cmdline-tools already gets (#389).