skip to content

Clankers are very smart, 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…

 Resumable Job Types (June 22, 2026)

(This is the default pattern. It is not hardcoded: write your own.)

Build

Gantry sizes up your plan. If it's a big one, it gets broken into milestones. A test command is written and run once before any work starts, and again when every milestone is done.

gantry plan.md runs build.toml

Milestone

Each milestone is split into sprints. First an environment brief and a milestone test command are written; every agent in the milestone reads the brief. When the last sprint is done, an agent reviews the whole milestone.

milestone.toml runs once per milestone

Sprint

A fresh agent implements the sprint. Gantry runs the tests. Another fresh agent reviews the diff. Gantry runs the tests again.

sprint.toml runs once per sprint

for each sprint

Merge

Every run takes place in its own git worktree, on its own branch. Gantry does the git work itself, with no LLM: it merges the home branch's tip into the run branch, runs the tests, merges the run branch back, and runs the tests once more. An agent is launched only for a conflict.

Until

The Gantry version of a "loop": the whole machinery above, repeated until a goal is reached.

gantry --until goal.md runs until.toml

Map

A list of tasks, built one after another. No milestones, no sprints: one agent per task, then the tests. A failed task is recorded and the run goes on.

gantry --map tasks.md runs map.toml