Skip to content

[aw-failures] Design Decision Gate fails 2/2 runs — hardcoded max-turns: 20 hits invocation cap on complex PRs #51344

Description

@github-actions

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:

  1. 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.
  2. 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.
  3. 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 ·

  • expires on Aug 14, 2026, 11:20 PM UTC-08:00

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions