skip to content
Jobs

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.

Gantry milestones
A documentation pass that says test where the words are for people and keeps gate where they name a thing.

Gantry checks its own work: after an agent touches code, Gantry runs a script and reads whether it passed. For a long time the docs and prompts called that step the "gate" — but "gate" was also the literal name of a pipeline stage, a brief file, and the script Gantry actually invokes. A reader meeting the word could not tell whether it meant the everyday idea of verification or one of those fixed names.

This job rewrote the human-readable prose to present that verification model in plain language: "tests", "the test suite", and "check" where the text is really talking about deciding pass or fail. It touched only prose. Every filename, path, code span, and internal stage name that happened to contain the old word was left exactly as it was, so the wording could change without anything the machine depends on moving underneath it.

Build

The plan cut the rename by prose surface and register rather than by file, and ordered the pieces so the highest-visibility wording landed first and set the pattern the rest reused.

The hard part of a rename like this is not typing the new word. It is disambiguation: the same "gate" is prose in one line, a preserved token on the next, and a generic pass/fail check in a third — and getting it wrong either leaves the old word standing or breaks a name the code reads. The decomposition attacked that directly. Sprint one rewrote the public overview first, precisely because it establishes the wording and the disambiguation pattern the later sprints were told to follow; core agent prompts, then design-mode prompts, then the broad live documentation each built on that settled vocabulary instead of re-deciding it.

One shared rule ran under all of them — tests versus check versus a preserved literal — and one mechanical invariant enforced the boundary: the run's own gate script built and tested the Rust crate and grepped to confirm the preserved script-path token still appeared in the overview and the build-check brief. That put the "do not touch the names" half of the job under an automatic guard rather than trusting each agent to remember it.

The run never came under stress at a boundary. No gate sent a sprint back, no review forced a re-plan, nothing was retried. For a rename that is the interesting outcome, not a dull one: it says the difficulty was dissolved in advance, by making the disambiguation policy explicit before any prose was rewritten and by reducing the preserve-list to a grep the machine could check on every pass. The plan also carried more sprints than it merged — the lower-value tail covering source comments and screencast text was consciously dropped at merge, the documentation prose treated as the point at which the job was worth landing.

Feature

The prose now reads in test language across the overview and prompts, but the sharp separation the job drew between the human word and the token name has not held as a durable convention in the tree since.

Before this job, Gantry's own writing let one word do two jobs — the reader's plain idea of verification and the fixed name of a stage — and the job's design was to keep them apart: move the prose to "test" and "check", freeze the literal names.

Standing in the tree today, the freeze held and the separation did not. Every preserved literal is still there: the pipeline stage is still called gate, the script is still `bin/gate`, and the build-check brief is still `gate-build.md`. But the prose distinction has eroded back. The README again says Gantry "trusts its own gate", the how-it-works document uses gate and test interchangeably for the same step, and the project's own contributor guidance states plainly that "the gate is ground truth". About half of the lines this job introduced survive at the current commit; the two words now coexist as prose synonyms rather than the one-way rewrite the job aimed for, because later work reintroduced the shorter term without being bound by this job's policy.

Much of what is gone is not the rename being undone but ordinary tidying: a large share of the touched files that no longer exist are one-off plan and handover documents that were removed after their own work finished. The rewrite of durable documentation is partly intact and partly overwritten — a convention that a single prose pass could establish but not, on its own, keep enforced.

10 sessions
peak 73,015 · median execute 18,097 · heaviest 73,015 (03) context
unavailable tokens
unavailable cost
0 x 4 milestones x sprints
0 edits
0 commands
1h 25m duration
5 execute · 5 review · 2 plan · 1 gate-build roles
0 x 0 fixes x replans
codex harness