aRustyDev / aRustyDev/agents

feat(skill-pr-addresser): detect updated comments after addressing

Open
#796 0 comments 0 reactions 1 assignee Claimed by @aRustyDev View on GitHub
enhancement skill-pr-addresser
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

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.