e2e-wheel.yml was the only workflow missing a top-level permissions: block (added during cross-OS work after PR #624 hardened the rest), so it ran with default broad GITHUB_TOKEN scopes -> OpenSSF Scorecard Token-Permissions = 0. Add 'permissions: contents: read' to match the other 7 workflows. CHANGELOG W24 entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>