Skip to content

Broaden retro skip criteria to all unmerged PRs with no agent interaction #681

Description

@guyoron1

Upstream: fullsend-ai/issues/5619

What happened

PR #1312 on quay/quay-operator was opened by external contributor TFGSUMIT, a non-org-member, on 2026-07-25. The PR contained nonsensical file paths, placeholder stubs, and a Python test in a Go project — CodeRabbit flagged it as potential spam. No fullsend agents (review, code, fix) ever interacted with it because the review dispatch was skipped (fork PR from non-member, no /ok-to-test issued). The PR was closed without merge on 2026-07-26. Despite zero agent interaction, the retro agent was dispatched (run 30222086241), consuming tokens to analyze a PR with no agent workflow to retrospect on.

What could go better

The existing issue #1411 proposes skipping retro for unmerged PRs with no agent interaction, but its proposed criteria require the PR author to be a bot (e.g., dependabot[bot], renovate[bot]). PR fullsend-ai#1312's author was a human external contributor, so fullsend-ai#1411's fix would not have prevented this wasted dispatch.

The bot-author condition in fullsend-ai#1411 is unnecessarily narrow. The core rationale — if no agents interacted with a PR, there is no agent workflow to retrospect on — applies equally regardless of whether the author is a bot or a human. Removing the bot-author requirement would catch additional cases: junk external PRs, abandoned PRs from non-members, and PRs closed before any agent ran.

Confidence: High. The logic is straightforward — the retro agent's purpose is to improve agent workflows, and zero agent interaction means zero agent workflow to analyze. The only exception would be if retro is expected to discover dispatch-level issues (as this retro coincidentally did by tracing back to issue fullsend-ai#1298), but that use case is better served by dedicated dispatch monitoring, not by retro-analyzing every closed PR.

Proposed change

In the fullsend dispatch routing logic (likely dispatch.yml or the retro stage routing in fullsend.yaml), modify the retro skip pre-flight check to drop the bot-author requirement. The criteria should be:

  1. PR was closed without merging, AND
  2. No agent workflows (review, fix, code) were successfully dispatched for this PR

This is simpler than fullsend-ai#1411's three-condition proposal (which also requires bot author) and covers a strictly larger set of cases. The check could query the dispatch repo's workflow runs filtered by the PR's head branch or number to determine whether any agent stage ran.

This change should be coordinated with fullsend-ai#1411 — either by updating fullsend-ai#1411's scope to drop the bot-author condition, or by implementing this broader version directly.

Validation criteria

The next 5 unmerged PRs closed on repos with retro enabled, where no agent workflows (review, fix, code) were dispatched, should NOT trigger a retro dispatch — regardless of whether the PR author is a bot or a human. PRs that were merged, or that had at least one agent workflow dispatched (even if it failed), should still trigger retro.


Generated by retro agent from quay/quay-operator#1312

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions