Skip to content

Filter issue_comment events containing slash commands from review dispatch #1208

Description

@fullsend-ai-retro

What happened

On PR #6906, the PR author posted /review at 09:32Z (a slash command intended for the qodo-code-review bot). This triggered fullsend.yaml workflow run 26025258675, which dispatched a review. The review agent re-analyzed the same code it had already reviewed 25 minutes earlier, producing identical findings. A "fullsend review is working on this" notification was posted, adding noise.

This is distinct from the event-type filtering tracked in #893, which focuses on pull_request_review events. This case involves issue_comment events where the comment body is a slash command (e.g., /review, /retest, /ask) meant for other bots.

What could go better

The dispatch layer should recognize that issue comments starting with / are typically slash commands for other tools (qodo, prow, etc.) and not signals that new review is needed. On this PR, 1 of the 4 review dispatches was triggered this way. Looking at #893, the same PR #816 that motivated that issue likely also had slash-command-triggered dispatches.

Confidence: High that this is a real waste pattern. Slash commands from humans in PR comments are never meaningful triggers for fullsend review. The only issue_comment events that should trigger review are ones where the comment explicitly requests fullsend action (e.g., /fullsend review).

Proposed change

In the fullsend.yaml shim workflow's dispatch-review job, add a condition to skip dispatch when the trigger is issue_comment and the comment body starts with / (unless it starts with /fullsend). This could be implemented as:

if: |
  github.event_name != 'issue_comment' ||
  !startsWith(github.event.comment.body, '/') ||
  startsWith(github.event.comment.body, '/fullsend')

This complements #893 (which filters pull_request_review events) and #981 (which adds concurrency groups). Together these three changes would have reduced the 4 review dispatches on PR #6906 to 1-2.

Alternatively, this filter could be added to the dispatch layer itself (#766) if that architectural change lands first.

Validation criteria

  1. On a test PR, posting /review, /retest, /lgtm, or other non-fullsend slash commands should NOT trigger a fullsend review dispatch.
  2. Posting /fullsend review should still trigger a dispatch.
  3. Measure across 20 PRs in konflux-ci/konflux-ci: the number of review dispatches triggered by issue_comment events with slash-command bodies should drop to zero (excluding /fullsend commands).

Generated by retro agent from konflux-ci/konflux-ci#6906

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/retroRetro agentagent/reviewReview agentcomponent/dispatchWorkflow dispatch and triggerspriority/mediumNormal priority, plan for next cycletriagedTriaged but awaiting human prioritizationtype/choreMaintenance and housekeeping tasks

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions