skip to content
Replays

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.

Gantry milestones

0 milestones 3 sprints

2 plan 3 execute 3 review 1 fix

Plain plan builds now go straight to the milestone driver, with the startup classifier and its build-family flags removed.

58m 26s total 15m 29s per sprint

Gantry used to begin a plain plan build by classifying the plan into a build family. That startup choice sent new work either through a flat sprint run or through the milestone driver, and the command line also exposed flags for forcing the old build-family split.

This job made the plain path direct. New plan builds enter the milestone driver, which can collapse small plans without a separate classifier, while explicit modes such as design and map stay selected by their own flags. The flat sprint driver remains a compatibility path for recorded runs, but it is no longer the public front door for new work.

How this walkthrough is structured

Feature

What did the run build and ship?

The current tree still routes plain builds through the milestone driver, keeps legacy flat runs resumable, and has no triage prompt or stage left in the build engine.

Build

How did Gantry structure the work?

The job was cut as one removal milestone whose sprints first changed dispatch, then deleted the now-unused triage surface, then corrected the public contract where the only red gate appeared.

Milestone 1

Remove Triage From Default Build Dispatch

The milestone left Gantry with a single ordinary build entry point. In the current code, the registered milestone driver owns plain builds, while the legacy sprint driver is described as resume-only for old persisted jobs. The prompt catalog, driver contract, and README all describe that arrangement, and the removed triage prompt is absent from the configured prompt set.

The milestone owned the whole removal but kept a narrow compatibility rule around it. New-run selection could change, explicit modes had to remain explicit, and persisted flat runs still had to resume by their recorded kind. That was small enough for one milestone because the sprints separated the behavioral switch from the deletion and the documentation cleanup. Its boundary held: no review forced a re-plan, and the only stress was localized to the final documentation pass.

Default Build Choice

Plain build dispatch now defaults through the milestone registered driver. Current tests cover that a missing job flag selects milestones and that persisted `kind = "sprints"` runs still use the flat driver when resumed. The immediate job removed the build-family flags outright; later code changed those names into hidden deprecated aliases that warn and route to milestones, so that part of the original contribution no longer stands exactly as landed.

This sprint carried the behavioral foundation: a flagless build had to resolve directly to the milestone driver without depending on classification. The brief also kept the hard boundary in view, since explicit design, redesign, and map modes still had to win, and stored flat runs still had to resume on the old driver. That was an agent-sized cut because it changed dispatch and tests without deleting the classifier yet. It passed at its boundary, so the later deletion could treat triage as unused plumbing rather than live routing.

Remove Triage Wiring

The triage runtime surface is gone. The domain stage enum no longer contains a triage stage, the build-agent prompt keys no longer include a triage prompt, and `config/triage.md` is absent from the tree. Current display and history code still carry compatibility vocabulary for older records in places, but not a live classifier path for new builds.

This sprint was scoped to deletion after the dispatch change had already made classification unnecessary. It could remove the stage, prompt registration, agent entry point, and display/state handling without also proving the default-selection semantics from scratch. The gate ran cleanly around the deletion, and a follow-up gate after review also stayed green. That says the dependency order did its job: the risky part was made mechanically checkable by the prior sprint.

Document Default Path

The user-facing docs now describe the milestone driver as the default plain build path. The README job table lists the explicit modes without a selectable sprint build row, and the prompt catalog says small plans collapse inside the milestone driver rather than through plan-text classification. Some changed guide files have since been renamed or reorganized, but the public explanation still matches the behavior in the current tree.

The last sprint carried the public contract instead of more engine work. Its brief asked for command tables, harness guidance, reference docs, and prompt catalogs to stop advertising automatic classification or selectable build families. This was the one place the run pushed back: the gate went red, a focused fix ran, and the sprint then cleared review. The failure located the difficulty in aligning written surfaces after the code path had already changed.