What happened
PR #121 was a Renovate bot dependency digest bump that was autoclosed without merge on Jul 8 after Renovate's artifact update failed (missing mock packages prevented go.sum regeneration). The retro agent was dispatched at Jul 8 18:40 UTC, immediately after the PR was closed.
The PR was never merged, never received human review, and the closure was caused by a structural issue in the repo's Go module setup (missing mock packages) — not by any agent or human decision that would benefit from retrospective analysis.
This is the latest data point in a well-documented pattern for this repo. #3463 documented 55 wasted agent runs across 9 Renovate PRs in konflux-ci/devlake with zero human engagement. PR #121 adds another retro dispatch to that count.
What could go better
The retro agent consumed tokens analyzing a workflow with zero learnable content. The PR was never merged, the review agent's behavior (while imperfect) is already tracked by existing issues, and the closure reason (Renovate artifact failure) is unrelated to agent quality.
The retro dispatch trigger should check merged == false for bot-authored PRs before launching the retro agent. For autoclosed PRs from known dependency bots (red-hat-konflux[bot], renovate[bot], dependabot[bot]), the retro stage should be skipped entirely.
Confidence: High. The waste is clear and objective. This specific instance produced only evidence for already-tracked issues — no novel findings emerged that would not have been captured from a merged PR exhibiting the same patterns.
Proposed change
This is evidence for #3317 (skip or lightweight retro for bot PRs) and #3647 (skip retro for automerged/autoclosed bot dependency PRs). The autoclosed-without-merge case is the strongest signal for skipping retro entirely, as there is no production outcome to analyze.
The retro dispatch trigger should add a pre-check: if github.event.pull_request.merged == false AND the PR author is a known dependency bot, skip the retro agent entirely. This would have prevented this dispatch and similar ones documented in #3700, #3698, and the 21 wasted retro runs cataloged in #3463.
For konflux-ci/devlake specifically, this filter would eliminate a significant fraction of retro dispatches, as the repo has a high ratio of Renovate PRs that cycle through close/reopen without merge.
Validation criteria
After implementation: retro agent should not be dispatched on PRs where merged == false and the author is a known dependency bot. Measure by checking the next 10 autoclosed Renovate PRs across the konflux-ci org — zero should trigger retro dispatches. The existing retro dispatch rate for bot PRs in konflux-ci/devlake (currently ~5 retro runs per long-lived Renovate PR per #3463) should drop to zero for autoclosed PRs.
Generated by retro agent from konflux-ci/devlake#121
What happened
PR #121 was a Renovate bot dependency digest bump that was autoclosed without merge on Jul 8 after Renovate's artifact update failed (missing mock packages prevented go.sum regeneration). The retro agent was dispatched at Jul 8 18:40 UTC, immediately after the PR was closed.
The PR was never merged, never received human review, and the closure was caused by a structural issue in the repo's Go module setup (missing mock packages) — not by any agent or human decision that would benefit from retrospective analysis.
This is the latest data point in a well-documented pattern for this repo. #3463 documented 55 wasted agent runs across 9 Renovate PRs in konflux-ci/devlake with zero human engagement. PR #121 adds another retro dispatch to that count.
What could go better
The retro agent consumed tokens analyzing a workflow with zero learnable content. The PR was never merged, the review agent's behavior (while imperfect) is already tracked by existing issues, and the closure reason (Renovate artifact failure) is unrelated to agent quality.
The retro dispatch trigger should check
merged == falsefor bot-authored PRs before launching the retro agent. For autoclosed PRs from known dependency bots (red-hat-konflux[bot], renovate[bot], dependabot[bot]), the retro stage should be skipped entirely.Confidence: High. The waste is clear and objective. This specific instance produced only evidence for already-tracked issues — no novel findings emerged that would not have been captured from a merged PR exhibiting the same patterns.
Proposed change
This is evidence for #3317 (skip or lightweight retro for bot PRs) and #3647 (skip retro for automerged/autoclosed bot dependency PRs). The autoclosed-without-merge case is the strongest signal for skipping retro entirely, as there is no production outcome to analyze.
The retro dispatch trigger should add a pre-check: if
github.event.pull_request.merged == falseAND the PR author is a known dependency bot, skip the retro agent entirely. This would have prevented this dispatch and similar ones documented in #3700, #3698, and the 21 wasted retro runs cataloged in #3463.For konflux-ci/devlake specifically, this filter would eliminate a significant fraction of retro dispatches, as the repo has a high ratio of Renovate PRs that cycle through close/reopen without merge.
Validation criteria
After implementation: retro agent should not be dispatched on PRs where
merged == falseand the author is a known dependency bot. Measure by checking the next 10 autoclosed Renovate PRs across the konflux-ci org — zero should trigger retro dispatches. The existing retro dispatch rate for bot PRs in konflux-ci/devlake (currently ~5 retro runs per long-lived Renovate PR per #3463) should drop to zero for autoclosed PRs.Generated by retro agent from konflux-ci/devlake#121