Fix it: raise (or make adaptive) the max-turns: 20 cap in Design Decision Gate — it kills 2/2 runs in this window on complex PRs
Problem statement: .github/workflows/design-decision-gate.md hardcodes max-turns: 20. Every run analyzed in the last 6h that needed more than 20 LLM invocations to finish its ADR review died with a non-retryable 429 Maximum LLM invocations exceeded (20 / 20), not a normal timeout or model error — the harness correctly refuses to retry it, but the workflow has no fallback, so the whole gate job fails outright instead of posting partial findings.
Affected workflow: Design Decision Gate 🏗️ (.github/workflows/design-decision-gate.lock.yml)
Runs (2/2 failures in window):
Probable root cause: max-turns: 20 at .github/workflows/design-decision-gate.md:33 is a hard LLM-invocation ceiling. audit-diff between §31238149137 and its successful baseline (§31237067931) confirms the failed run consumed exactly 20/20 requests before being cut off — the ADR-review task for these particular PRs (broad pkg/**, .github/workflows/** diffs) genuinely needs more turns than the budget allows, and there is no graceful-degradation path when the cap is hit.
Proposed remediation:
- Raise
max-turns for this workflow (e.g. 40-50) to match its actual task shape — a design-review over multi-file diffs is inherently more turn-hungry than the current budget assumes.
- Add a harness-level soft-fail for
max_runs_exceeded specifically for read-only/analysis workflows: post whatever partial ADR analysis exists as a comment (same pattern other workflows use with report_incomplete) instead of hard-failing the job.
- Optionally split the workflow into a triage pass (cheap, few turns) that decides whether a full ADR review is warranted, before the expensive deep-review pass.
Success criteria: Re-running Design Decision Gate against PR #51292 (or an equivalent multi-file pkg/** diff) completes without hitting the invocation cap, and/or a run that does hit the cap posts a partial-findings comment instead of failing the job outright.
Related to #51269
Generated by 🔍 [aw] Failure Investigator (6h) · agent · 163 AIC · ⌖ 42.9 AIC · ⊞ 5.5K · ◷
Fix it: raise (or make adaptive) the
max-turns: 20cap in Design Decision Gate — it kills 2/2 runs in this window on complex PRsProblem statement:
.github/workflows/design-decision-gate.mdhardcodesmax-turns: 20. Every run analyzed in the last 6h that needed more than 20 LLM invocations to finish its ADR review died with a non-retryable429 Maximum LLM invocations exceeded (20 / 20), not a normal timeout or model error — the harness correctly refuses to retry it, but the workflow has no fallback, so the whole gate job fails outright instead of posting partial findings.Affected workflow:
Design Decision Gate 🏗️(.github/workflows/design-decision-gate.lock.yml)Runs (2/2 failures in window):
copilot/increase-watchdog-default-time— 22 turns, exit code 1.agent-stdio.log:API Error: Request rejected (429) · Maximum LLM invocations exceeded (20 / 20).→[claude-harness] attempt 1: maximum LLM invocations exceeded — not retrying (non-retryable guard condition).copilot/update-sandbox-agent-configuration— 17 turns, 841k tokens, same "Workflow Failed" / resource-heavy signature.Probable root cause:
max-turns: 20at.github/workflows/design-decision-gate.md:33is a hard LLM-invocation ceiling.audit-diffbetween §31238149137 and its successful baseline (§31237067931) confirms the failed run consumed exactly 20/20 requests before being cut off — the ADR-review task for these particular PRs (broadpkg/**,.github/workflows/**diffs) genuinely needs more turns than the budget allows, and there is no graceful-degradation path when the cap is hit.Proposed remediation:
max-turnsfor this workflow (e.g. 40-50) to match its actual task shape — a design-review over multi-file diffs is inherently more turn-hungry than the current budget assumes.max_runs_exceededspecifically for read-only/analysis workflows: post whatever partial ADR analysis exists as a comment (same pattern other workflows use withreport_incomplete) instead of hard-failing the job.Success criteria: Re-running Design Decision Gate against PR #51292 (or an equivalent multi-file
pkg/**diff) completes without hitting the invocation cap, and/or a run that does hit the cap posts a partial-findings comment instead of failing the job outright.Related to #51269