skip to content

0.3.3

Verdicts and Re-entry

This is the last release before a major reworking of the engine. A few weeks of gently mopping up issues we encounter while running Gantry in codebases. An overall theme is improving the `gantry resume` feature.

70 commits by Gantry runs

33% of the release

144 commits by non-Gantry sessions

67% of the release

214 commits 19 entries 6 sections

Gantry 0.3.3 covers 214 commits in 19 entries from 2026-08-26 through 2026-09-19. Four named Gantry runs contribute 70 commits; the other entries contribute 144 commits, including four further Gantry runs whose replays are not published.

Resume and re-entry are the largest workstream. A resumed run now re-enters unfinished work, re-runs failed commands and red gates, restores the stopped invocation from its first step, and retains operator commits made before the resume. A bare plan invocation and gantry resume now use the same existing-run path. One plan took a run, a hand merge, and nine follow-up commits to finish its resume changes.

Finish-time merge repair is now the bundled merge pattern, with engine-owned git operations and grounding checks. Task lists appear before their phase begins, and task-list directory outputs stay correctly resolved across commands and resumes. Red run-scoped gates receive one troubleshoot pass before a run stops.

The binary now fills absent stage metrics from agent usage sidecars. Bundled prompts, patterns, reference data, and manual text were corrected; interactive Codex and Gemini blocker investigations receive the configuration their stage agents use. The shipped legal files now name HyperClank, Inc.

No known issues are stated for this release.

Resume and re-entry

Resume measures the tree again and re-enters recorded work.

  1. 4 commits, bd1f953da 4d8ed275e session

    Resume re-runs the stopped pattern, gate, and command

    Hand and interactive-agent work fixed four resume paths. A restored checkpoint now resumes the pattern that stopped, re-runs a red gate or failed command instead of replaying its outcome, and records the position a stop re-enters rather than a step identifier. Older invalid checkpoint positions now refuse to resume instead of silently skipping work.

  2. 8 commits, 417233f4c 51c55cf6a run a-resume-never-invents-a-verdict replay

    Resume restores unfinished tasks without inventing success

    A Gantry run added ledger and session-execution checks so a resume re-enters unfinished tasks instead of marking them DONE from a restored checkpoint cursor. It records structured invocation-frame roles and preserves enclosing `for` iterations across tail calls, so new checkpoints restore the task that was running. Recoverable older checkpoints rebuild missing loop frames; unsupported shapes stop with a record error instead of silently completing a task.

  3. 30 commits, b1c1e4961 e288c3f4a session

    Resume stopped invocations from their first step

    A gantry run stopped twice at its attempt ceiling while rebuilding resume handling; its 30 commits were merged by hand, and nine hand commits completed the plan on master. `gantry resume` now re-enters the stopped invocation from its first step against the tree as it stands, rather than reusing checkpoint routes, output bindings, or output paths that could repeat an authored stop. A resume that reaches a stop without running an agent, gate, command, or `for` enumeration is refused without recording another stop, and a restore cannot discard commits made before the resume.

  4. 8 commits, 58cbf8e2a efada3cd8 session

    Resume preserves operator repairs and discarded book work

    Hand work floors restore operations at the run branch tip read when re-entry began, so a restore can discard its own attempt but not an operator repair. Gate authors no longer overwrite an operator's repaired gate, discarded orchestration work is parked on a named ref, and every stop surface takes its next-action sentence from `stop_render::next_action`.

  5. 25b363664 commit

    Resume retains task-named directory outputs

    An interactive-agent commit keeps resolved task-named directory outputs in the run record and restores them from the position checkpoint. Commands and gates therefore receive the resolved path after a resume rather than a relative declaration.

  6. 20 commits, 5ce545dbe 81c81d0a8 run one-way-to-re-enter-a-run replay

    Unify re-entry into an existing run

    A Gantry run made `gantry <plan>` re-enter an existing run through the same path as `gantry resume`, so both restore the recorded run rather than taking separate re-entry paths. `gantry resume` now accepts a run name, plan path, or plan directory, and a plan address with no matching run refuses when an existing run has the same plan-id label. The run added `--ignore-position-checkpoint` for re-entry at the entry pattern instead of the recorded position; it retains the existing-run resets and is refused with `--clean`, `--remove`, or a fresh start.

  7. 64ab46a13 commit

    A refused resume follows the ordinary stop path

    An interactive-agent commit makes a resume refused before live work an ordinary record-class stop. The run receives the stop record, stop screen, and headless exit status without recording the authored stop again; resumed sprint retries also re-enter their `for` body.

Finish-time merges

Merge repair is a bundled pattern under engine-owned git checks.

  1. 27 commits, e5ec7bf0d 51ae93828 run the-merge-path-is-a-pattern replay

    Make finish-time merge repair a bundled pattern

    A gantry run replaced the engine's hand-written finish-time merge repair flow with the bundled `merge` pattern while retaining engine-owned git operations and grounding checks. The pattern resolves textual conflicts, adjudicates main-side residue, and routes a red declared gate through the shared `troubleshoot` pattern. The engine selects and freezes the merge pattern, records a prior refusal for a later attempt, and merges only after it verifies the integrated tree.

Task lists and gates

Known work appears earlier, and a red run-scoped gate receives one repair.

  1. 15 commits, 9e297209d 323b0d147 run every-known-task-is-on-the-rail-from-the-start replay

    Show known nested tasks before their phase starts

    A gantry run, retried after its first gate failed, added previews for readable nested task lists before their containing task starts, so the Tasks rail shows checked-in work earlier. Previews are recorded distinctly and do not alter task completion or fleet progress; live enumeration replaces a preview when the task begins. The run also makes per-task command, gate, agent, and repair cards name their task in the headline, and prepares the release pattern's checked-in units before phase execution.

  2. 2 commits, 71ec1b068 da1009a40 session

    Task-list directories resolve from their declarations

    Hand and interactive-agent work resolves a run-scoped task-list directory from its declaration before checking invocation state. A command inheriting a task-name-templated directory output now receives its absolute path.

  3. 2 commits, 77cfe4644 6bf25f1bf session

    Repair red run-scoped gates before stopping

    A Gantry run added a shared one-repair path for red run-scoped gates in the bundled build patterns. A red milestone-boundary or final project gate now calls `troubleshoot` once and re-runs that gate before Gantry stops; red gates after milestone-review edits use the same path. The troubleshoot pass now receives the current iteration diff.

  4. 7a701f57a commit

    Gate and command steps do not read the terminal

    An interactive-agent commit gives gate scripts and pattern `command` steps null standard input. A background child that reads the terminal no longer stops its process group with `SIGTTIN`.

Bundled documentation and harnesses

Compiled-in prompts, reference text, manuals, and blocker launches changed.

  1. 4 commits, 5d7464dd8 6b3fd2dfa session

    Clarify bundled troubleshoot and review prompts

    Hand and interactive-agent work clarifies that a troubleshoot pass must not weaken the check it repairs and that a reviewer may finish or defer incomplete scope. The bundled patterns rename `recovery_rung` and its `rung_*` outputs to `troubleshoot` and `troubleshoot_*`, and the compiled reference data was regenerated for the prompt changes.

  2. 2 commits, 20204a992 9aaf55300 session

    Interactive blocker launches receive stage-agent access

    Interactive Codex launches now bypass Codex's own sandbox, allowing linked-worktree git operations. Interactive Gemini launches now receive `GEMINI_SANDBOX=0`, approval mode, and trust settings matching its stage-agent invocation.

  3. 60 commits, 7d2a559a5 005df8e79 session

    Correct bundled reference and manual documentation

    A Gantry release run corrected bundled reference and manual documentation after v0.3.2 was tagged, so the corrections ship for the first time in 0.3.3. The released binary now embeds corrected descriptions of CLI, configuration, journal, handover, harness, menu, and pattern behaviour. After the cut stopped, its resumed run retained task-named directory output paths for command and gate steps.

  4. 2 commits, ec3e89424 943d307b2 session

    Reference data documents re-entry identity

    Hand work regenerated the compiled reference dataset after the review prompt changed and documented the run-identity rule for a re-entry address. An edited plan identifies a different run and therefore cannot identify an existing run by its prior address.

Stage metrics

  1. 24 commits, 855784b11 77280c9bf session

    Fill missing stage metrics from agent usage sidecars

    A gantry run updated the engine to fill missing stage metrics from each agent session's usage sidecar before recording `stage_finished`. Codex sessions now record available input, output, and cache token counts plus turns without overwriting metrics the harness reported. New run records therefore retain those usage figures rather than leaving them null.

Maintenance

  1. c943281ae commit

    Environment briefings do not trigger plan-change review

    An interactive-agent commit excludes `brief_environment`'s generated `environment.md` from plan-change detection. Rewriting the environment briefing no longer routes a run to plan-change review and stops it.

  2. 2 commits, bf20b2c6f b223a39ac session

    Shipped legal files name HyperClank, Inc.

    Hand work names HyperClank, Inc. as Gantry's copyright holder, author, seller, and licensor in `NOTICE` and `TERMS-OF-SALE`. Those files ship beside the binary in the release tarball.