Symptom

The Release Version.yml workflow’s version-bump job failed while opening the mechanical bump PR. The job updated all version files and created the local commit, but git push origin version-bump/<version> was rejected as a non-fast-forward update.

Root cause

The workflow assumed gh pr merge --auto --squash --delete-branch always removed the remote version-bump/<version> branch. In practice, stale mechanical branches can remain after earlier runs, so a rerun for the same version tried to push to an existing branch and died before it could create or reuse the PR.

Fix

.github/workflows/Release Version.yml now fetches any existing remote version-bump/<version> ref and pushes the regenerated branch with --force-with-lease, which safely overwrites only the previously-fetched stale mechanical branch. The workflow also checks for an already-open PR on that head branch and reuses it instead of blindly running gh pr create again.

Prevention

Mechanical automation that uses deterministic branch names must be rerun-safe: always handle pre-existing remote refs and pre-existing PRs explicitly instead of assuming cleanup already happened. For bot-owned branches, prefer --force-with-lease over plain --force so a stale branch can be refreshed without silently clobbering unexpected remote changes.