Skip to content

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

Description

@aRustyDev

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

# 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:

# 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:

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions