Skip to content

review_response_gate ignores GitHub PR review events — only Jira comments can unpause it #184

Description

@ekuris-redhat

When Forge encounters contested review comments during implement_review, it posts objections on the GitHub PR and pauses the workflow at review_response_gate. However, the reviewer's response on the PR is ignored because the worker only handles pull_request_review events when current_node == "human_review_gate".

Expected behavior

A pull_request_review event (changes requested, comment, or approval) should unpause the workflow at review_response_gate, the same way it does at human_review_gate.

Actual behavior

The worker logs:

Workflow is paused at review_response_gate
No valid signal detected for AISOS-XXXX at review_response_gate — ignoring event, workflow state unchanged

The reviewer must go to Jira and post a ! comment to unpause the workflow, even though the entire review conversation is happening on the GitHub PR.

Root cause

src/forge/orchestrator/worker.py line 1054 — the pull_request_review handler is gated to human_review_gate only:

if (
    message.source == EventSource.GITHUB
    and "pull_request_review" in message.event_type
    and current_node == "human_review_gate"  # <-- excludes review_response_gate
):

Suggested fix

Extend the condition to also match review_response_gate:

and current_node in ("human_review_gate", "review_response_gate")

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions