Move major tag update (e.g. v6) into the release workflow as a
conditional step, gated on semantic-release actually publishing.
This avoids the GITHUB_TOKEN limitation where events from the
default token don't trigger separate workflows.
Also reverts @semantic-release/github from .releaserc since we no
longer rely on the release event to trigger a separate workflow.
GitHub Actions is deprecating Node.js 20 runners starting June 2, 2026.
Update action runtime and CI workflows to Node.js 24.
Closes#207
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>