Agents are great, but…
Agents are great at thinking and planning, but not at long-running execution.
Gantry breaks work down into agent-sized chunks. No LLM in the loop at the top level, every agent gets a fresh context.
Create a plan, any way you like. Gantry will read it and…
- Prove Your Rebuild Matches the Shipped Binary A comment-stripped source tree, a byte-reproducible build, and a script that lets a customer check both. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/reproducible-source-release-fast.mp4
- Stripping Internal Tooling from Shipped Builds Default-on build features keep developer builds whole while paid and demo distributions ship without the internal tooling. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/feature-exclusion-release-fast.mp4
- Sentence Case for Engine Status Text Make card detail and finish messages read as prose, without disturbing the tokens inside them https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/tui-casing-cleanup-fast.mp4
- Fast Screencasts That Fit the Run Quick replay clips now scale their length to the size of the run they show. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/adaptive-screencast-duration-fast.mp4
- Making a Flaky Test Suite Trustworthy Again Measuring, fixing, and preventing test flakiness across the suite. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/flaky-test-cleanup-fast.mp4
- Screencasts Without the Letterbox Bars Pin the output height, take the width from the terminal grid https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/height-pinned-screencasts-fast.mp4
- Merge Finalization That Recovers Itself One finish path, a truthful success check, and resume that converges without hand cleanup. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/robust-merge-finalization-fast.mp4
- The Halt Modal Shows the Whole Diagnosis A stop screen that grows to its content, scrolls, and reads the report inline https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/halt-recovery-modal-fast.mp4
- Autonomy-First Merge-Back Conflict Handling Try to resolve the merge conflict without a human, and ask only when that fails. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/autonomous-conflict-handover-fast.mp4
- Prove the Merge Before It Lands Safer merge landing with red-merge handling and resolution guidance. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/aggressive-merge-resolution-fast.mp4
- From Run Logs to a Reusable Fleet Corpus A collector that archives finished Gantry runs, and an extractor that turns them into normalized datasets. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/fleet-log-pipeline-fast.mp4
- Sentence Case Across the Live Monitor Consistent casing across the TUI's cards, states, and metrics. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/loom-casing-cleanup-fast.mp4
- Making Sprint Counts Comparable Across Runs Splitting a run's completion state from the sprint size a person actually scans for. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/sprint-count-views-fast.mp4
- Usage Sidecars Written Beside Every Stage Capture per-turn context usage as each stage finishes, so a run carries its own numbers https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/inline-usage-capture-fast.mp4
- Runs That Build Until a Goal Passes Building the verification-driven goal and loop run system. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/goals-and-loops-fast.mp4
- A Fast Default Gate and an Opt-In Display Tier Speeding up the suite with a dedicated display E2E tier. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/test-suite-speed-fast.mp4
- Finding the Real Checkout Behind a Worktree Making run identity resolve to the primary checkout no matter where Gantry is invoked https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/worktree-locator-fast.mp4
- From Gate to Test in Gantry's Prose A documentation pass that says test where the words are for people and keeps gate where they name a thing. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/gate-to-test-rename-fast.mp4
- One Default Build Path, No Startup Triage Plain plan builds now go straight to the milestone driver, with the startup classifier and its build-family flags removed. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/default-build-triage-cleanup-fast.mp4
- Gantry's Gated Demo Edition A gated demo that unlocks runtime access and verifies release artifacts. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/demo-gating-system-fast.mp4
- Renaming the Brain to the Assistant A behaviour-preserving rename of Gantry's conversational LLM driver, from brain to assistant, across code and docs. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/brain-to-assistant-rename-fast.mp4
- Retiring Gantry's Hard-Coded Harness Default Global harness config with fallback resolution and precedence. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/global-harness-defaults-fast.mp4
- Gantry Builds Its Own Releases Replacing the GitHub Actions release pipeline with one local, self-verifying command. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/local-release-producer-fast.mp4
- A Narration Script for Every Feature Screencast One fresh agent per episode, each writing an anchored script the replay pipeline can film https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/screencasts-scripts-2-fast.mp4
- Terminal Overlays for Narrated Screencasts Put the code and plan text on screen, timed to the voiceover. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/terminal-overlay-screencasts-fast.mp4
- Producing the Menu-Makeover Screencast Episode Adding one narrated build episode to Gantry's screencast series https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/menu-makeover-handover-fast.mp4
- A Narrated Tour of the Handover Menu A guided tour of the handover menu and its interactive flow. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/handover-menu-tour-fast.mp4
- Narration Scripts for Every Screencast A fresh agent reads one past Gantry build and writes its anchored narration essay. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/screencasts-scripts-fast.mp4
- Narrated screencasts, synced to the run A pipeline for scripted, narrated screencasts with synced timing. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/narrated-screencasts-fast.mp4
- A Verifiable Source-Review Archive for Every Release Deterministic source snapshots, license compliance, and signed checksums wired into the release. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/source-review-distribution-fast.mp4
- Safe Finalize in a Shared Checkout Safe finalization when the checkout is shared between runs. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/shared-checkout-safety-fast.mp4
- Which Harness Ran This Card Showing harness and model on every build stage. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/harness-model-display-fast.mp4
- Reconstructing Run Journals from Git History Rebuild the missing timelines of old runs from commit times so they replay as first-class timed runs https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/run-journal-backfill-fast.mp4
- The Fresh-Box Readiness Check and Release Path gantry doctor for a clean machine, plus a path to shipping Gantry as a versioned binary https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/distribution-and-preflight-fast.mp4
- Drag to Select and Copy in the Monitor Text selection and clipboard copy in the terminal UI. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/text-selection-fast.mp4
- Feed Cards That Match the Run's Real Shape A run classified for milestones but built as one flat sprint no longer announces a structure it never builds. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/hide-milestone-language-fast.mp4
- A Sensible Default for the Untouched Split Give the never-dragged sidebar/feed divider an adaptive layout, and leave a dragged one alone https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/adaptive-split-defaults-fast.mp4
- A deep-dive panel for a run's stats and git history A plans dashboard with improved paging and git activity tracking. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/plans-stats-panel-fast.mp4
- Replay's Roster Learns the Run's Shape Rebuild the sprint sidebar from disk when a run has no event tape https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/non-flat-replay-support-fast.mp4
- Teaching the Merge Resolver to Prove It Dropped Nothing The finish step now checks a resolution actually carried main's changes, and repairs the ones it didn't. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/merge-reconciliation-fast.mp4
- Restoring a Silently Reverted TUI Layout Re-applying dropped layout commits by hand, then pinning them with a test the gate never had. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/restore-tui-layout-fast.mp4
- A Menu System for Gantry's Run Monitor A seven-menu TUI redesign with a pager and live statistics. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/plans-menu-makeover-fast.mp4
- Filming a Gantry Run End to End Capturing Gantry builds as timed video screencasts. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/loom-screencasts-fast.mp4
- Rewatch Any Finished Gantry Run A durable event tape and a replay verb that play a past run back through the live terminal view https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/past-run-replay-fast.mp4
- A Live Countdown for a Parked Run Turning a usage-limit wait from a stale corner note into a card that counts down to the resume time. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/usage-limit-countdown-card-fast.mp4
- A Fast Parallel Resume Scan for Map Runs Classify every already-done unit at once, up front, instead of two slow sequential sweeps. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/parallel-map-resume-fast.mp4
- Teaching Codex to Wait Out a Usage Limit Codex usage-limit hits become a timed pause and auto-resume, not a dead run https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/codex-usage-limit-backoff-fast.mp4
- Recovering a Worktree Left Dirty by an Interrupted Chunk When gantry dies mid-chunk, resume discards the unverified work and rebuilds from the last committed green state. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/resume-worktree-reset-fast.mp4
- Refactoring the Build Engine Into Concern-Focused Modules Turning one oversized file into a directory of per-concern modules, with the test suite as proof nothing moved but the code. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/refactor-build-rs-fast.mp4
- Checkpoint a Gantry Run Without Ending It Bank a long run's finished work to master, then resume the rest. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/partial-merge-checkpoints-fast.mp4
- The Verbose Flag That Kept Runs Alive A one-flag compatibility fix that stops a CLI change from halting whole Gantry runs. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/stream-json-verbose-fast.mp4
- Backoff That Waits for the Reset Time When a usage window runs out, sleep until it reopens instead of halting the run. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/usage-limit-reset-backoff-fast.mp4
- Delivering Gantry's Tools to Any Harness's Assistant The conversational assistant reached its run tools only under Claude; this job taught every harness to register them natively. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/harness-aware-mcp-delivery-fast.mp4
- The Chat Pane Learns to Reply Joining a fully built but isolated chat backend to the running engine, so a typed message finally gets an answer. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/chat-console-integration-fast.mp4
- One Owner Per Run, Attach From Anywhere A process-grounded lock makes one engine own a run, and a live transport lets other front-ends attach to watch and steer it. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/live-run-architecture-fast.mp4
- Resume Any Job Type Where It Stopped Teaching a flagless resume to route every driver, not just the layouts it already recognised. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/resumable-job-types-fast.mp4
- A Conversational Console for a Running Build An in-run chat pane and agent backend that turn gantry's dead-stop moments into conversations. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/loom-agent-chat-fast.mp4
- Serializing Concurrent Gates Behind a Per-Repo Lock One gate at a time per repository, so overlapping runs stop failing each other https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/per-repo-gate-lock-fast.mp4
- An MCP Server for Watching and Steering a Gantry Run Expose one build's status, artifacts, and controls to an agent — confined to that run https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/loom-mcp-server-fast.mp4
- Resolving Merge Conflicts Off the Main Checkout Move conflict resolution into the throwaway worktree so a failed merge never dirties your real tree. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/worktree-conflict-resolution-fast.mp4
- Salvage the Work a Timeout Would Have Thrown Away Kill a coding agent for stalling, not for being slow — and keep the work it already finished https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/timeout-guard-and-salvage-fast.mp4
- Judging Whether the Work Was Actually Finished Review learns to ask if a sprint covered its brief, and a cut-off agent stream stops meaning failure. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/plan-review-completeness-fast.mp4
- Map: Fanning Gantry's Pipeline Over a List Fanning work out across many items, sequentially or concurrently. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/map-job-type-fast.mp4
- Riding Out a Transient API Outage Gantry tells a momentary upstream blip from a real failure and waits it out instead of halting the run. https://pub-6889d21b662c41a99d75b71a5b4f16f0.r2.dev/screencasts/fast/transient-retries-fast.mp4
Plan milestones
Gantry sizes up your plan. If it's a big one, it gets broken into milestones.
gantry plan.md
-
Milestone Planner
milestones.mdSplits the plan into milestones — one for a small plan, an ordered set for a large one, each a handful of sprints. Re-plans along the way when something shifts.
Plan
Gantry breaks every milestone into sprints. It also sets up a test runner and an environment briefing which are used throughout the job.
-
Environment Briefer
environment-build.mdWrites environment.md, the briefing on this project's tooling and layout that every later agent boots with.
-
Sprint Planner
plan-build.mdCreates a set of right-sized sprint plans. Also re-plans the remaining sprints when deemed necessary by a reviewer.
-
Tester
gate-build.mdWrites bin/gate, the pass/fail tests Gantry runs after every agent action.
Build
A fresh agent builds each sprint, another agent reviews it. Gantry runs the tests after each agent, and if they fail, an agent is launched to fix the issue.
-
Builder
execute.mdImplements exactly one sprint. Speaks up if the plan is wrong.
-
Reviewer
review.mdReviews a builder's diff and applies safe improvements, reports on scope issues and on any impact to the rest of the plan.
-
when the tests fail
tests ✗ redfix smallest changetest Gantry re-runs itinvestigate diagnoseSTOP report -
Fixer
fix.mdMakes the smallest correct change that turns failing tests into passing tests — never widening the sprint to do it.
-
Investigator
investigate.mdWhen a fix is not successful (tests still fail), this agent diagnoses the failure and writes a report. The run halts and the human operator is alerted.
Review
Once a milestone is merged, Gantry reviews it and, if necessary, re-plans the remainder of the work. New sprints are defined for the next milestone.
-
Milestone Reviewer
review.mdReads a whole merged milestone as one read-only unit. Scope gaps or plan impact rework future milestones.
Merge
Every Gantry job takes place in its own git worktree in a sandbox. Gantry does its own git operations, without using an LLM: it integrates master's tip into the run branch inside the worktree, runs the tests, and merges back with --no-ff. Launches an agent only if there is a merge conflict.
-
when main has moved under a long run
conflict main movedresolve in the worktreetest Gantry re-runs itmerge only if passing -
Conflict Resolver
Gantry's only git-running agent. Only launches when upstream master has changed during the run. It integrates main's tip and resolves the conflict inside the throwaway worktree, then hands back to Gantry to re-run the tests. If it can't be made clean with passing tests, Gantry restores main untouched and stops.
Loop
Gantry can also loop. The whole machinery above, repeated until a set goal is reached.
gantry --loop goal.md
Gantry also supports a simpler form of loop, without planning, closer to a classic Ralph Loop.
gantry --ralph prompt.md
Map
The same careful job, fanned out over a list — one unit per row, each built and merged on its own.
gantry --map items.md
Gantry turns each row of your spec into an isolated unit with its own worktree, so none waits on another.
Every unit runs the same execute → test → review pipeline a sprint does, with Gantry running the tests itself.
-
Builder
execute.mdBuilds one unit — the same builder a normal Gantry job uses.
-
Reviewer
review.mdReviews the unit's diff, applies safe fixes, flags anything affecting the rest of the work.
Each unit carries a skip-test, so a resumed run rebuilds only what isn't done — and gantry merge can land the finished units mid-run.