fix(ce-resolve-pr-feedback): stop dropping unresolved and actionable feedback (#617)
This commit is contained in:
@@ -49,7 +49,7 @@ Returns a JSON object with three keys:
|
||||
|
||||
| Key | Contents | Has file/line? | Resolvable? |
|
||||
|-----|----------|---------------|-------------|
|
||||
| `review_threads` | Unresolved, non-outdated inline code review threads | Yes | Yes (GraphQL) |
|
||||
| `review_threads` | Unresolved inline code review threads (includes outdated; each carries its `isOutdated` flag so the resolver can account for line drift) | Yes | Yes (GraphQL) |
|
||||
| `pr_comments` | Top-level PR conversation comments (excludes PR author) | No | No |
|
||||
| `review_bodies` | Review submission bodies with non-empty text (excludes PR author) | No | No |
|
||||
|
||||
@@ -72,7 +72,7 @@ Before processing, classify each piece of feedback as **new** or **already handl
|
||||
|
||||
The distinction is about content, not who posted what. A deferral from a teammate, a previous skill run, or a manual reply all count. Similarly, actionability is about content -- bot feedback that requests a specific code change is actionable; a bot's boilerplate header wrapping those requests is not.
|
||||
|
||||
**Silent drop.** Non-actionable items are dropped without narration. Do not announce, list, or count dropped items in conversation, the task list, or the step 10 summary. Known review-bot wrappers (CodeRabbit, Codex, Gemini Code Assist, Copilot) and CI/status bot summaries (Codecov) are already filtered at the script level and will not appear; if a similar wrapper slips through, drop it silently and move on.
|
||||
**Silent drop.** Non-actionable items are dropped without narration. Do not announce, list, or count dropped items in conversation, the task list, or the step 10 summary. Review-bot wrappers from CodeRabbit, Codex, Gemini Code Assist, and Copilot (bodies like "Here are some automated review suggestions...") commonly appear here -- recognize them by their boilerplate content, drop silently. Only CI/status bot summaries (Codecov) are pre-filtered at the script level; everything else relies on this content-aware check so bot format changes cannot silently hide actionable findings.
|
||||
|
||||
If there are no new items across all feedback types, skip steps 3-9 and go straight to step 10.
|
||||
|
||||
@@ -147,10 +147,11 @@ Previously-resolved threads (from `cross_invocation.resolved_threads`) participa
|
||||
|
||||
Each agent receives:
|
||||
- The thread ID
|
||||
- The file path and line number
|
||||
- The file path and location fields: `line`, `originalLine`, `startLine`, `originalStartLine` (any can be null; outdated and file-level threads often have `line == null` and must fall back to `originalLine`)
|
||||
- The full comment text (all comments in the thread)
|
||||
- The PR number (for context)
|
||||
- The feedback type (`review_thread`)
|
||||
- The `isOutdated` flag from the thread node (tells the agent the reported line may have drifted)
|
||||
|
||||
**For PR comments and review bodies** (`pr_comments`, `review_bodies`): These lack file/line context. Spawn a `workflow:ce-pr-comment-resolver` agent for each actionable non-clustered item. The agent receives the comment ID, body text, PR number, and feedback type (`pr_comment` or `review_body`). The agent must identify the relevant files from the comment text and the PR diff.
|
||||
|
||||
@@ -375,7 +376,7 @@ This fetches thread IDs and their first comment IDs (minimal fields, no bodies)
|
||||
|
||||
### 2. Fix, Reply, Resolve
|
||||
|
||||
Spawn a single `workflow:ce-pr-comment-resolver` agent for the thread. Then follow the same validate -> commit -> push -> reply -> resolve flow as Full Mode steps 6-8.
|
||||
Spawn a single `workflow:ce-pr-comment-resolver` agent for the thread. Pass the same fields full mode does, including `isOutdated` and the location fields (`line`, `originalLine`, `startLine`, `originalStartLine`) -- targeted threads can be outdated too and need the same relocation handling. Then follow the same validate -> commit -> push -> reply -> resolve flow as Full Mode steps 6-8.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user