skip to content
Replays

Stranded Run Recovery

Resuming and Finishing Recorded Runs

Recovery for unfinished merges and completion from the run record.

Gantry milestones

2 milestones 7 tasks 28 agents

3 plan 7 execute 11 review

172k peak context

140k median execute

Recovery for unfinished merges and completion from the run record.

2h 25m total 14m 55s per task

4m 30s plan 1h 5m execute 30m 7s review

101 edits 902 commands

codex harness

A stopped run could be stranded by an unresolved merge, while a completed run could remain open after its branch had already landed. This run separated recovery at resume from completion from the recorded task list. The current tree retains both paths and their documentation.

How this walkthrough is structured

Feature

What did the run build and ship?

An uncommitted merge is recoverable at resume, and recorded completed work can close a run through `gantry merge`.

Build

How did Gantry structure the work?

The cut separated worktree recovery from recorded completion, giving each boundary its own acceptance criteria.

Milestone 1

Resume Merge Recovery

4 tasks 13 agents 1h 14m wall time 172k peak context

The resume documentation classifies an in-progress merge as uncommitted work. It gives the operator the choice to commit the resolution or resume and discard the half-merge. The current finish path preserves interrupted project state on a recovery ref before it clears merge residue and resets the worktree.

The milestone defined the resume boundary around an unresolved merge instead of treating it as a refusal. Its brief distinguished a committed resolution from in-progress merge state and required a recovery ref and journal entry before reset. The ledger records the milestone as done and green. The run facts contain no milestone attribution, so they do not locate a local recovery or re-plan.

Milestone 2

Recorded Run Finish

3 tasks 11 agents 53m 27s wall time 153k peak context

The partial-merge command checks recorded root-task completion before deciding whether the run finishes. It writes the run completion record after a successful merge or when there is nothing to merge. The CLI reference keeps an incomplete recorded task list resumable and says that completed recorded work finishes the run.

Completion was made a property of the run record rather than a live resume session. The brief kept incomplete runs resumable while defining already-merged and empty-work cases separately. Its ledger row is done and green. The run facts do not attribute stages to this milestone, so they record no local recovery or re-plan.