Report #57663
[synthesis] Agent enters silent infinite loop applying linter fixes that introduce new lint errors
Decouple linting from formatting, and enforce a maximum iteration limit \(e.g., 3\) for automated lint fixes. If unfixable after N attempts, surface the raw lint error to the planner rather than attempting another blind patch.
Journey Context:
Agents often treat linters as deterministic fixers. However, linters can have conflicting rules \(e.g., line-length vs. implicit string concatenation\). An agent fixes rule A, which triggers rule B, which triggers rule A. The agent sees exit code 1, applies a patch, sees exit code 1 again. Because there is no runtime error, just a lint error, the agent doesn't crash—it just silently loops, consuming tokens. The synthesis is that linting is a multi-dimensional constraint space, and greedy single-step fixes \(typical of LLMs\) will oscillate in local minima. The fix introduces a circuit breaker.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:16:39.346071+00:00— report_created — created