feat(skill-pr-addresser): detect updated comments after addressing
- Dominant language
- Jupyter Notebook
- Stars
- 8
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
The skill-pr-addresser agent tracks addressed feedback by ID to avoid duplicate work. However, if a reviewer **updates their comment** after it's been addressed, the agent will still skip it because the ID hasn't changed.
## Current Behavior
```python
# discovery.py:288-291
def not_addressed(item) -> bool:
item_id = getattr(item, "id", None)
return item_id is None or item_id not in addressed_ids
```
Only checks if the ID exists in `addressed_ids`. Content changes are not detected.
## Proposed Solution
Store a content hash alongside the addressed ID:
```python
# In session.results["addressed_feedback"]
{
"comment-123": {
"id": "comment-123",
"content_hash": "sha256:abc123...",
"addressed_at": "2025-01-02T12:00:00Z"
}
}
```
Then compare content hash when filtering:
```python
def not_addressed(item) -> bool:
item_id = getattr(item, "id", None)
if item_id is None:
return True
addressed = addressed_feedback.get(item_id)
if not addressed:
return True
# Check if content changed since addressing
current_hash = hash_content(item.body)
return current_hash != addressed.get("content_hash")
```
## Acceptance Criteria
- [ ] Store content hash when marking feedback as addressed
- [ ] Compare hash when filtering already-addressed feedback
- [ ] Re-process comments whose content has changed
- [ ] Add tests for updated comment detection
## Notes
- Review threads don't have persistent IDs in our model, so they're always reprocessed
- This only affects PR comments and review comments with IDs
Contributor guide
Assessment
This issue has not been assessed yet.