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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions