Skip to content

Feature: true resumable coding_loop runs after hitting max_iterations (not just re-running on leftover files) #806

Description

@proagentstore

When a coding_loop_start run hits max_iterations (or otherwise stops without completing), there is currently no real 'resume' — only the option to start a brand new run against the same repo. Today that new run happens to see whatever uncommitted files the previous run left in the working tree on disk, so if the prior run got partway through editing a file before stopping, a new run can stumble onto that leftover diff and build on it. But that's incidental: it depends entirely on git not having discarded anything, and the new run has none of the previous run's actual reasoning, iteration history, or context for WHY it made those changes or what it still intended to do. If the working tree were clean, or another run had touched the repo since, there would be nothing to pick up at all.

Requested feature: genuine resumability for a run that hit its iteration ceiling (or failed for a recoverable reason).

  1. When a run stops at max_iterations, keep its full session/reasoning context addressable (not just the code artifacts on disk).
  2. Give the owner a way to review why it stopped — what it had completed, what it was mid-way through, what it still intended — before deciding what to do next.
  3. Allow the owner to then choose: (a) reset and start clean, (b) resume the same run with its prior context intact, optionally adding new instructions/info/ticket updates without losing what it already figured out, or (c) resume as-is with more iterations granted.
  4. This should work even hours later — the point is a human can check back on a stalled run on their own schedule, add clarifying info or a course correction, and let the agent continue rather than re-deriving everything from scratch each time.

This came up today (2026-09-12) while retrying issue #150 on proappstore-online/platform: a run died on a relay timeout at iteration 4 of 20 with a good partial fix already written but uncommitted. A second run happened to build on that leftover diff successfully, but only by chance — it had no actual memory of the first run's reasoning, and a true resume would have been far more reliable.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2: correctnessReal defect, no live harm today — inert fields, miscounts, missing guardscoderThe Coder wedge agent (#68) — Engine, Pilot, Co-pilot, Loop, OverseerenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions