fix: update review-poll.sh approval injection to include merge commands

The APPROVE injection previously told the dev-agent to write PHASE:done
and let the orchestrator merge. Now the dev-agent merges directly, so the
injection includes the full merge + issue-close curl commands matching the
pattern already in the dev-agent.sh prompt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-18 18:10:30 +00:00
parent f73d5f471e
commit 775c290660

View file

@ -128,8 +128,24 @@ inject_review_into_dev_session() {
local inject_msg="" local inject_msg=""
if [ "${verdict}" = "APPROVE" ]; then if [ "${verdict}" = "APPROVE" ]; then
inject_msg="Approved! PR #${pr_num} has been approved by the reviewer. inject_msg="Approved! PR #${pr_num} has been approved by the reviewer.
Write PHASE:done to the phase file — the orchestrator will handle the merge: Merge the PR and close the issue, then signal done:
echo \"PHASE:done\" > \"${phase_file}\""
curl -sf -X POST \\
-H \"Authorization: token \$CODEBERG_TOKEN\" \\
-H 'Content-Type: application/json' \\
\"${API_BASE}/pulls/${pr_num}/merge\" \\
-d '{\"Do\":\"merge\",\"delete_branch_after_merge\":true}'
curl -sf -X PATCH \\
-H \"Authorization: token \$CODEBERG_TOKEN\" \\
-H 'Content-Type: application/json' \\
\"${API_BASE}/issues/${issue_num}\" \\
-d '{\"state\":\"closed\"}'
echo \"PHASE:done\" > \"${phase_file}\"
If merge fails due to conflicts, rebase first then retry.
If merge repeatedly fails, write PHASE:needs_human."
elif [ "${verdict}" = "REQUEST_CHANGES" ] || [ "${verdict}" = "DISCUSS" ]; then elif [ "${verdict}" = "REQUEST_CHANGES" ] || [ "${verdict}" = "DISCUSS" ]; then
inject_msg="Review: ${verdict} on PR #${pr_num}: inject_msg="Review: ${verdict} on PR #${pr_num}: