Skip to content

[WIP] Reduce reviewer workflow fan-out on Copilot PRs#27356

Closed
Copilot wants to merge 1 commit intomainfrom
copilot/reduce-reviewer-workflow-fan-out
Closed

[WIP] Reduce reviewer workflow fan-out on Copilot PRs#27356
Copilot wants to merge 1 commit intomainfrom
copilot/reduce-reviewer-workflow-fan-out

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 20, 2026

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.


This section details on the original issue you should resolve

<issue_title>[copilot-opt] Reduce reviewer workflow fan-out on Copilot PRs to cut 96% action_required rate</issue_title>
<issue_description>### Problem
Every Copilot-authored PR triggers 7–11 review workflows simultaneously (Grumpy Code Reviewer, PR Nitpick Reviewer, Q, Scout, /cloclo, Security Review Agent, Archie, Smoke CI, Doc Build, CGO, Content Moderation, AI Moderator). This fan-out results in 48 out of 50 sessions (96%) ending with conclusion: action_required — the workflows themselves trigger further action requests rather than resolving cleanly. Each PR generates 20+ redundant workflow runs while providing overlapping signals.

Evidence

  • Analysis window: 2026-04-06 to 2026-04-20 (14 days)
  • Sessions analyzed: 50 (all from 2026-04-20 based on available data)
  • Key metrics and examples:
    • copilot/add-latex-ecosystem-group triggered 23 workflow runs in a single batch
    • copilot/fix-gh-aw-upgrade-windows-issue triggered 22 workflow runs in a single batch
    • 48/50 sessions (96%) concluded as action_required — only AI Moderator and Running Copilot cloud agent succeeded
    • 7 distinct reviewer agents (Grumpy Code Reviewer, PR Nitpick Reviewer, Q, Scout, /cloclo, Security Review Agent, Archie) fire in parallel per PR alongside CI workflows (Smoke CI, CGO, Doc Build)
    • PR data shows 910 PRs created in April alone, all receiving this full fan-out treatment

Proposed Change

  • Add a concurrency group scoped per PR branch to cancel superseded reviewer runs: concurrency: group: review-$\{\{ github.head_ref }}, cancel-in-progress: true
  • Consolidate the 7 reviewer agents into a unified "review" job that runs checks sequentially or assigns based on PR content type (docs, code, security) instead of all-at-once fan-out
  • For Copilot-authored PRs specifically, gate the full reviewer suite behind a lightweight triage step that determines which reviewers are relevant to the change scope

Expected Impact

  • Reduce per-PR workflow run count from ~22 to 3–5 (60–85% reduction in CI minutes)
  • Drop the action_required conclusion rate from 96% to below 30% by eliminating redundant escalations from overlapping reviewers
  • Decrease queue pressure on self-hosted runners, reducing latency for genuine CI checks

Notes

  • Distinct root cause category: orchestration fan-out / redundant agent parallelism
  • Data quality caveats: No events.jsonl files available under /tmp/gh-aw/session-data/logs/; analysis based on sessions-list.json and PR data. Session timestamps span a single day, suggesting the 14-day window data was truncated to the most recent snapshot.

Generated by Copilot Opt · ● 1.3M ·

Comments on the Issue (you are @copilot in this section)

@pelikhan pelikhan closed this Apr 20, 2026
Copilot stopped work on behalf of pelikhan due to an error April 20, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants