aRustyDev / aRustyDev/agents

skill-pr-addresser: Improve feedback deduplication and batching

Open
#797 0 comments 0 reactions 1 assignee Claimed by @aRustyDev View on GitHub
agents enhancement skills
Dominant language
Jupyter Notebook
Stars
8
Forks
3
PR merge metrics
No merged PRs in 30d

Description

## Problem

The agent times out when processing PRs with many review comments because:

1. **No deduplication of similar feedback** - "Move to examples" appearing at 4 different lines creates 4 separate work items
2. **Guidance mixed with actionable items** - Meta-guidance reviews (e.g., "follow progressive delivery patterns") are treated as change requests
3. **Checkbox explosion** - A single review with 6 checkboxes becomes 6 separate items
4. **No batching** - All items processed in a single fixer run

### Example from PR #795

| Source | Items Generated |
|--------|-----------------|
| Review 1 (6 checkboxes) | 6 items |
| Review 2 (guidance) | 1 item |
| Review 3 (guidance) | 1 item |
| 11 review threads | 11 items |
| **Total** | **~17-20 items** |

Many threads are actually the same feedback at different locations:
- 4 threads say "move to examples/*"
- 3 threads say "move to reference/*.md"
- 3 threads say "keep high-level, point to references"

## Proposed Solutions

### 1. Deduplication in Analyzer

Update `feedback-analyzer` prompt to consolidate similar feedback:

```json
{
"feedback_items": [
{
"id": "group-examples",
"type": "change_request",
"description": "Move code blocks to examples/",
"locations": [
{"file": "SKILL.md", "line": 671},
{"file": "SKILL.md", "line": 733},
{"file": "SKILL.md", "line": 398}
],
"priority": "high"
}
]
}
```

### 2. Separate Guidance from Actions

Add a `guidance` type that the fixer can use for context but not treat as individual work items:

```json
{
"guidance": [
"SKILL.md MUST follow progressive delivery patterns",
"Adopt best-practices & anti-patterns pattern"
],
"feedback_items": [...]
}
```

### 3. Batch Processing

Instead of sending all items to fixer at once:
1. Group by type (move-to-examples, move-to-references, etc.)
2. Process one group at a time
3. Commit after each batch

### 4. Priority Ordering

Process high-priority items first, skip lower priority if time/turn budget exhausted.

## Related

- #796 - Detect updated comments
- Observed in PR #795 (10 items all timed out)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.