Problem
Every Copilot agent PR push triggers 6 review workflows simultaneously (Q, Grumpy Code Reviewer 🔥, Scout, PR Nitpick Reviewer 🔍, Security Review Agent 🔒, /cloclo). All 6 complete with action_required within seconds of each push, generating 6 separate human-attention items and 6 independent workflow runs for every single commit. This fan-out saturates the review queue and obscures actionable signal under noise.
Evidence
- Analysis window: 2026-04-19 (today; only date present in session data)
- Sessions analyzed: 50 workflow runs across 4 Copilot branches
- Key metrics and examples:
- 36 of 50 session runs (72 %) concluded with
action_required — all from review workflows
- For each push to
copilot/optimize-token-usage-optimizer (00:50:36 Z): Q, Grumpy Code Reviewer, Scout, PR Nitpick Reviewer, Security Review Agent, and /cloclo all fired and completed with action_required within the same second
- For each push to
copilot/analyze-copilot-sessions (00:34:52 Z): all 6 review workflows again fired simultaneously — contributing 24 of the 33 total runs on that branch alone
- Only 11 of the 50 runs (22 %) were substantive CI jobs (Smoke CI, CGO, Design Decision Gate, Test Quality Sentinel, Doc Build, Content Moderation)
Proposed Change
Consolidate or gate the parallel reviewer workflows to reduce fan-out:
- Short-term: Add a
concurrency group to each review workflow so that only one instance runs per PR at a time, cancelling in-progress runs on new pushes.
- Medium-term: Merge the style/nitpick reviewers (Grumpy Code Reviewer, PR Nitpick Reviewer, /cloclo) into a single "Style & Quality" composite workflow that outputs one consolidated comment.
- Long-term: Gate non-critical reviewers (Scout, Grumpy Code Reviewer, PR Nitpick Reviewer, /cloclo) behind the critical path (Security Review Agent, Q) so they only run after the first two pass, reducing unnecessary fan-out on broken PRs.
Expected Impact
- Reduce review workflow runs per PR push from 6 to 2–3
- Cut
action_required queue noise by ~50–67 %
- Reduce total CI-minutes spent on review fan-out by an estimated 60 % (6 independent runs → 2)
- Make actionable security and quality signals easier to triage by reducing noise
Notes
- Distinct root cause category: review workflow fan-out / over-triggering
- Data quality caveats: session
events.jsonl unavailable; latency data per reviewer is absent; fan-out count is based on workflow run metadata only
- PR data corroboration: 204 / 1,000 closed-without-merge PRs suggests high review friction is a contributing factor to abandonment
References:
- §24617578848 — Q (action_required) on
copilot/optimize-token-usage-optimizer
- §24617339322 — Security Review Agent (action_required) on
copilot/analyze-copilot-sessions
- §24617578805 — /cloclo (action_required) on
copilot/optimize-token-usage-optimizer
Generated by Copilot Opt · ● 2.1M · ◷
Problem
Every Copilot agent PR push triggers 6 review workflows simultaneously (Q, Grumpy Code Reviewer 🔥, Scout, PR Nitpick Reviewer 🔍, Security Review Agent 🔒, /cloclo). All 6 complete with
action_requiredwithin seconds of each push, generating 6 separate human-attention items and 6 independent workflow runs for every single commit. This fan-out saturates the review queue and obscures actionable signal under noise.Evidence
action_required— all from review workflowscopilot/optimize-token-usage-optimizer(00:50:36 Z): Q, Grumpy Code Reviewer, Scout, PR Nitpick Reviewer, Security Review Agent, and /cloclo all fired and completed withaction_requiredwithin the same secondcopilot/analyze-copilot-sessions(00:34:52 Z): all 6 review workflows again fired simultaneously — contributing 24 of the 33 total runs on that branch aloneProposed Change
Consolidate or gate the parallel reviewer workflows to reduce fan-out:
concurrencygroup to each review workflow so that only one instance runs per PR at a time, cancelling in-progress runs on new pushes.Expected Impact
action_requiredqueue noise by ~50–67 %Notes
events.jsonlunavailable; latency data per reviewer is absent; fan-out count is based on workflow run metadata onlyReferences:
copilot/optimize-token-usage-optimizercopilot/analyze-copilot-sessionscopilot/optimize-token-usage-optimizer