Skip to content

fix(pr-review): post auto-reply outside the rework-only path - #71

Merged
chihsuan merged 1 commit into
mainfrom
fix/pr-review-auto-reply-non-rework
May 22, 2026
Merged

fix(pr-review): post auto-reply outside the rework-only path#71
chihsuan merged 1 commit into
mainfrom
fix/pr-review-auto-reply-non-rework

Conversation

@chihsuan

Copy link
Copy Markdown
Member

Context

PR review comments that land during the initial agent run (before the issue reaches In Review) get addressed in code but never replied to, leaving threads silently resolved. See #67 (comment) for a recent example.

TL;DR

Tighten WORKFLOW.md to require a reply on every addressed comment and let the poller's auto-reply fire for non-rework records.

Summary

  • Update WORKFLOW.md PR feedback sweep protocol so addressed-in-code requires a github_reply_to_review_comment, not just pushback.
  • Lift the status == "rework_requested" gate in complete_reviewer_comment_record/2; any record with pending_reviewer_comments now completes (auto-reply if enabled, cursor advanced).
  • Update the existing "ignores pending comments unless waiting for rework" test to assert the new contract; add a focused test that auto-reply fires for non-rework statuses with pending comments.

Alternatives

  • Only do the WORKFLOW.md change. Rejected because it leaves the poller silently skipping cooling-down/deferred records that still carry pending comments — no safety net if the agent forgets.
  • Also fetch comments from GitHub at run completion when no record exists. Larger change; deferred since the WORKFLOW.md change covers the same-run-as-PR-open case via the agent.

Test Plan

  • make all
  • mix test test/symphony_elixir/pr_review_poller_test.exs
  • mix test test/symphony_elixir/core_test.exs
  • mix specs.check
  • mix format --check-formatted

Summary:
- Require posting `github_reply_to_review_comment` in WORKFLOW.md when
  addressing review comments in code, not just for pushback.
- Lift the `status == "rework_requested"` gate in
  `complete_reviewer_comment_record/2`: any pr_review record with
  `pending_reviewer_comments` now completes (auto-replies if enabled and
  advances the addressed cursor).
- Update the existing "ignores pending comments unless waiting for
  rework" test to assert the new contract and add a focused test that
  auto-reply fires for non-rework statuses with pending comments.

Rationale:
- Copilot review comments that arrive during the initial agent run
  (before the issue reaches `In Review`) were addressed in code but
  never replied to, because the poller had no rework cycle to drive
  the auto-reply and WORKFLOW.md only required a reply for pushback.
- The agent-side change catches the same-run-as-PR-open case; the
  poller change is defense-in-depth for cooling-down/deferred/non-
  rework records that still carry pending comments.

Tests:
- mix test test/symphony_elixir/pr_review_poller_test.exs
- mix test test/symphony_elixir/core_test.exs
- mix specs.check
- mix format --check-formatted
@chihsuan
chihsuan merged commit 088db38 into main May 22, 2026
10 checks passed
@chihsuan
chihsuan deleted the fix/pr-review-auto-reply-non-rework branch May 25, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant