From fd42698d4830e6645c914a9bbb540c7271563ab1 Mon Sep 17 00:00:00 2001 From: Sasa Junuzovic Date: Tue, 17 Mar 2026 15:09:36 -0700 Subject: [PATCH] fix: revert responder to working version, remove broken changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverts the review-responder to the original simple instructions that successfully addressed review threads (run 23117978475, 2026-03-15). Multiple rounds of 'improvements' broke the responder's ability to read threads — over-specifying how to query threads (GraphQL, MCP) instead of letting the agent figure it out, and changing step ordering that prevented thread discovery. Only change from the known-working version: removed resolve-thread safe-output (now handled by the pipeline orchestrator) and kept the if: label gate (saves compute on non-aw PRs). Closes #148 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/review-responder.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/review-responder.md b/.github/workflows/review-responder.md index 6d8ac9c..ed88a0b 100644 --- a/.github/workflows/review-responder.md +++ b/.github/workflows/review-responder.md @@ -47,26 +47,22 @@ This workflow runs when a review is submitted on a pull request. 1. First, check if the PR has the `aw` label. If it does NOT have the `aw` label, stop immediately — this workflow only handles agent-created PRs. -2. Check the review that triggered this workflow. If the review has no comments (e.g., a plain approval with no inline comments), check if there are any unresolved review threads on the PR. If the review has no comments AND there are no unresolved threads, stop — there is nothing to address. Do NOT add any labels when stopping here. If the review has no comments BUT there ARE unresolved threads from a previous review, continue to step 3 to address those threads. +2. Check the review that triggered this workflow. If the review has no comments (e.g., a plain approval with no inline comments), stop — there is nothing to address. -3. Read the unresolved review comment threads on the PR (not just the latest review — get all unresolved threads). If there are no unresolved threads, stop — there is nothing to address. Do NOT add any labels when stopping here. +3. Check if the PR already has the label `review-response-attempted`. If it does, add a comment to the PR saying "Review response already attempted — stopping to prevent loops. Manual intervention needed." and stop. -4. Check if the PR already has the label `review-response-attempted`. If it does, add a comment to the PR saying "Review response already attempted — stopping to prevent loops. Manual intervention needed." and stop. +4. Add the label `review-response-attempted` to the PR. -5. Add the label `review-response-attempted` to the PR. Only add this label HERE — after confirming there are actual threads to address. +5. Read the unresolved review comment threads on the PR (not just the latest review — get all unresolved threads). If there are more than 10 unresolved threads, address the first 10 and leave a summary comment on the PR noting how many remain for manual follow-up. 6. For each unresolved review comment thread (up to 10): a. Read the comment and understand what change is being requested b. Read the relevant file and surrounding code context - c. Make the requested fix in the code (edit the file locally — do NOT push yet) + c. Make the requested fix in the code d. Reply to the comment thread explaining what you changed -7. If there are more than 10 unresolved threads, leave a summary comment on the PR noting how many remain for manual follow-up. +7. After addressing all comments, run the CI checks locally to make sure your fixes don't break anything: `uv sync && uv run ruff check --fix . && uv run ruff format . && uv run pyright && uv run pytest --cov --cov-fail-under=80 -v` -8. After addressing all comments, run the CI checks locally to make sure your fixes don't break anything: `uv sync && uv run ruff check --fix . && uv run ruff format . && uv run pyright && uv run pytest --cov --cov-fail-under=80 -v` - -9. Push all changes in a single commit with message "fix: address review comments". Reply to all threads BEFORE pushing — replies after a push will appear on outdated code. +8. Push all changes in a single commit with message "fix: address review comments". If a review comment requests a change that would be architecturally significant or you're unsure about, reply to the thread explaining your concern rather than making the change blindly. - -NOTE: Thread resolution is handled separately by the pipeline orchestrator after this workflow completes. Your job is to fix the code and reply to threads — do NOT attempt to resolve threads.