Skip to content

dev-lead engine repeatedly times out (engine-error) on larger issues — exhausts retries without delivering (e.g. .github#518) #901

Description

@don-petry

Summary

The dev-lead engine repeatedly fails with engine-error (timeout / transient engine error) on larger, feature-sized issues, exhausting its retry budget without ever producing a PR. The retry mechanism now works (auto re-dispatch, "attempt N/3") — but the underlying per-attempt engine budget is too small for substantial issues, so retries just repeat the same timeout. Net: bigger issues silently never get delivered, even though the agent correctly posts an implementation plan first.

Live example — petry-projects/.github#518

#518 ("add-to-project: add a reconcile/backfill mode") is a real feature build (a scan script + workflow_dispatch/cron triggers + bats + docs). dev-lead:

  • posted a correct implementation plan, then
  • attempt 1/3 failed engine-error (run 27908018949),
  • auto-retried → attempt 2/3 failed engine-error (run 27909956774),
  • ~2.5h elapsed, no PR. Status comment: status=failed attempt=2 reason=engine-error.

This matches earlier instances this session:

So the throughline: the engine times out on issues above some size/complexity, and either fails outright or produces a rushed/over-engineered result.

Why it matters

  • Larger initiatives labeled dev-lead don't get delivered — they consume 3 attempts of compute and then stall, with only failure comments to show.
  • It's silent: no escalation/hand-off, so a human only notices if watching.

Suggested directions

  • Right-size the budget: raise the per-attempt engine timeout (and/or use a higher-capacity model/tier) for issues above a complexity threshold.
  • Detect oversize + decompose or hand off: if an issue is too big for one attempt, have dev-lead split it (epic → stories, via the planner) or label dev-lead:needs-human and notify, instead of burning 3 identical timeouts.
  • Escalate on retry-exhaustion: when attempt 3/3 fails, apply a clear dev-lead:failed/needs-human label + ping, so it doesn't just go quiet.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug reports

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions