Cherry Pick
Selects eligible candidates from ranked.json, attempts cherry-pick on each, and creates a draft PR if any succeed.
Candidate Selection
A PR is eligible if ALL of:
backport_ease == "ai-fixable"score >= 50already_backported == falseverdictismust_backportorlikely_relevant
Usage
bash scripts/cherry-pick.sh \
--input artifacts/backport-triage/ranked.json \
--downstream /path/to/downstream-repo \
--branch rhai/0.13.0 \
--jira-url "https://redhat.atlassian.net/browse/..." \
--report-url "https://github.com/..." \
--output artifacts/backport-triage/cherry-pick-result.json
Output
cherry-pick-result.json:
{
"status": "created|skipped",
"pr_url": "https://...",
"succeeded": 3,
"conflicts": 1,
"results": [{"number": 12345, "title": "...", "score": 85, "status": "success|conflict"}]
}
Agent Follow-up (Required)
After this skill runs, the agent MUST:
- Semantic validation — review the cherry-picked diff, check imports reference modules that exist at the target tag, check for calls to post-release functions
- If issues found, add a comment on the draft PR
- Update the Jira ticket with the PR link
- For conflict candidates with score >= 70, add label
ai-autofix-candidate