Set `permissions: contents: read` at the top of every workflow and grant
more per job only where that job uses it, so the repo's default workflow
token can later be flipped to read-only without breaking CI.
No step, trigger or `runs-on` changes; same-repo runner guards are intact.
Co-authored-by: Claude Opus 5.5 <[email protected]>