hotfix-backport
Backport fixes from main onto release/YYYY.WW in the ai repo with cherry-pick and rebase merge so release-please changelogs stay correct. Use when hotfixing a release branch, cherry-picking to release
SKILL.md.claude/skills/hotfix-backport/SKILL.md
GitHubHotfix backport to release/*
Workflow
- Identify commits on
mainto backport (merge commits or PR numbers). - Branch from the target release branch:
git fetch origin main release/YYYY.WW git checkout -b hotfix/UN-XXXXX origin/release/YYYY.WW - Cherry-pick in order (oldest first):
git cherry-pick <sha1> <sha2> ... - Open a PR targeting
release/YYYY.WWwith a list of backported commits/PRs in the description. - Merge with Rebase and merge only (squash is blocked by branch rules).
CI guardrails
.github/scripts/check-release-lineage.sh— each PR commit must be onmainor patch-equivalent (git cherry -prefix). Cherry-picks get new SHAs; identical hashes are not required. No commit-metadata bypass (author/subject are forgeable).release-please--*PRs skip lineage inci.yaml(automation-owned version/changelog bumps).- Do not squash-merge: one squashed commit breaks release-please changelog generation.
After the fix PR merges
release-please opens chore: hotfix release/YYYY.WW to YYYY.WW.N. Approve and rebase-merge that PR too. PyPI publish follows the GitHub Release event.
Related
release-process— versioning and changelog ownershipgit-conventional-commits— commit subjects on cherry-picked commits must stay conventionalmodel-deploymentLESSONS-LEARNED — monorepo pins after AI packages ship