-
-
Notifications
You must be signed in to change notification settings - Fork 629
Keep address-review triage aligned with latest actionable feedback #2798
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -66,7 +66,7 @@ Execution flow when terminal access is available: | |
|
|
||
| 4. Filter comments: | ||
| - Skip resolved threads. | ||
| - Skip replies where `in_reply_to_id` is set. | ||
| - Do not create standalone triage items from comments where `in_reply_to_id` is set, but use reply text as the latest thread context when it updates or narrows the unresolved concern. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This new rule relies on reply text to represent the current unresolved concern, but the workflow still fetches review comments without any Useful? React with 👍 / 👎. |
||
| - Keep bot comments by default, but deduplicate duplicates and skip status-only bot posts. | ||
| - Focus on correctness bugs, regressions, security issues, missing tests that hide bugs, and clear adjacent-code inconsistencies. | ||
| - Skip style nits, speculative suggestions, documentation nits, changelog wording, duplicate comments, and "could consider" feedback unless I ask for polish work. | ||
|
|
@@ -77,11 +77,12 @@ Execution flow when terminal access is available: | |
| 5. Triage every remaining comment: | ||
| - `MUST-FIX`: correctness bugs, regressions, security issues, missing tests that could hide a bug, and clear inconsistencies with adjacent code that would likely block merge. | ||
| - `DISCUSS`: reasonable scope-expanding suggestions, architectural opinions, and comments that need a decision. | ||
| - `SKIPPED`: style preferences, documentation nits, comment requests, test-shape preferences, speculative suggestions, changelog wording, duplicate comments, status posts, summaries, and factually incorrect suggestions. | ||
| - `SKIPPED`: style preferences, documentation nits, comment requests, test-shape preferences, speculative suggestions, changelog wording, duplicate comments, status posts, non-actionable summaries, and factually incorrect suggestions. | ||
| - Deduplicate overlapping comments before classifying them. | ||
| - Verify reviewer claims locally before calling something `MUST-FIX`. | ||
| - If a claim is wrong, classify it as `SKIPPED` and say why. | ||
| - Preserve comment IDs and thread IDs for later replies and thread resolution. | ||
| - Treat actionable review summary bodies as normal feedback to classify (`MUST-FIX`/`DISCUSS` as appropriate); skip only boilerplate or status-only summaries. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The new bullet was added after There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Treating review summary bodies as normal actionable feedback becomes problematic because step 3 still pulls every non-empty body from Useful? React with 👍 / 👎. |
||
| - Track only `MUST-FIX` items as your working checklist. | ||
| - Use one checklist entry per must-fix item or deduplicated issue. | ||
| - Use the subject format: `"{file}:{line} - {comment_summary} (@{username})"`. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -82,7 +82,7 @@ gh api graphql --paginate -f owner="${OWNER}" -f name="${NAME}" -F pr={PR_NUMBER | |
| **Filtering comments:** | ||
|
|
||
| - Skip comments belonging to already-resolved threads (match via `thread_id` and `is_resolved` from the GraphQL response) | ||
| - Skip comments where `in_reply_to_id` is set (these are replies, not top-level comments) | ||
| - Do not create standalone triage items from comments where `in_reply_to_id` is set, but use reply text as the latest thread context when it updates or narrows the unresolved concern | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Filtering section still skips all summaries before triageMedium Severity The filtering section (line 87) tells the AI to skip "summaries" during comment filtering, but the new triage rule (line 112) says to classify actionable summaries as normal feedback. This creates an internal contradiction — actionable summaries get discarded in filtering before reaching triage. The corresponding line in Additional Locations (1) |
||
| - Do not skip bot-generated comments by default. Many actionable review comments in this repository come from bots. | ||
| - Deduplicate repeated bot comments and skip bot status posts, summaries, and acknowledgments that do not require a code or documentation change | ||
| - Treat as actionable by default only: correctness bugs, regressions, security issues, missing tests, and clear inconsistencies with adjacent code | ||
|
|
@@ -101,14 +101,15 @@ Before creating any todos, classify every review comment into one of three categ | |
|
|
||
| - `MUST-FIX`: correctness bugs, regressions, security issues, missing tests that could hide a real bug, and clear inconsistencies with adjacent code that would likely block merge | ||
| - `DISCUSS`: reasonable suggestions that expand scope, architectural opinions that are not clearly right or wrong, and comments where the reviewer claim may be correct but needs a user decision | ||
| - `SKIPPED`: style preferences, documentation nits, comment requests, test-shape preferences, speculative suggestions, changelog wording, duplicate comments, status posts, summaries, and factually incorrect suggestions | ||
| - `SKIPPED`: style preferences, documentation nits, comment requests, test-shape preferences, speculative suggestions, changelog wording, duplicate comments, status posts, non-actionable summaries, and factually incorrect suggestions | ||
|
|
||
| Triage rules: | ||
|
|
||
| - Deduplicate overlapping comments before classifying them. Keep one representative item for the underlying issue. | ||
| - Verify factual claims locally before classifying a comment as `MUST-FIX`. | ||
| - If a claim appears wrong, classify it as `SKIPPED` and note briefly why. | ||
| - Preserve the original review comment ID and thread ID when available so the command can reply to the correct place and resolve the correct thread later. | ||
| - Treat actionable review summary bodies as normal feedback to classify (`MUST-FIX`/`DISCUSS` as appropriate); skip only boilerplate or status-only summaries. | ||
|
|
||
| ## Step 5: Create Todo List | ||
|
|
||
|
|
||


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mechanics of "use reply text as the latest thread context" are left implicit. An agent executing this step may not know whether to:
A more concrete formulation might help:
Also, the qualifier "when it updates or narrows the unresolved concern" leaves two edge cases unaddressed: