skip to content
Replays

Sentence Case for Engine Status Text

Make card detail and finish messages read as prose, without disturbing the tokens inside them

Gantry milestones

0 milestones 1 sprints 4 agents

2 plan 1 execute 1 review

203k peak context

Make card detail and finish messages read as prose, without disturbing the tokens inside them

22m 15s total 17m 46s per sprint

1m 29s plan 12m 42s execute 4m 36s review

14 edits 109 commands

codex harness

Gantry's build engine narrates itself through activity cards: detail text while a stage is running and finish text when that stage closes. This job cleaned the engine-emitted side of that stream, applying sentence case where a message starts with prose while leaving paths, branch names, verdict tokens, commands, and interpolated values unchanged.

The work matters because the TUI and headless prose stream both display these strings as authored. The rule now lives at the source of each message instead of in a renderer that would have to guess which fragments were prose and which were machine-facing data.

How this walkthrough is structured

Feature

What did the run build and ship?

Engine card detail and finish messages now start in sentence case where they begin with prose, and current build modules still carry that authored-text convention.

Build

How did Gantry structure the work?

The job was small enough to carry as a single grep-driven sweep, with the sprint staying green and the only recorded trouble appearing later at integration.

Engine Detail Case

2 agents 17m 46s wall time 203k peak context

The commit touched the build drivers, gate and finish paths, mock stream, smoke coverage, and exact-string tests so emitted status text opens with capitalized prose. In the current tree, the same convention is visible in source strings such as planning, gate authoring, goal checks, milestone review, merge completion, and run completion. The older per-sprint driver file no longer exists as a separate source file, so part of this change has been folded into later build-engine structure. The observable rule remains: prose-leading details are capitalized at emission time, while values such as branch names, paths, and verdict words are still passed through as data.

This sprint was asked to complete the part of the casing cleanup that the earlier render-layer work had left open: the strings emitted by the build engine itself. The brief made grep-driven discovery the work list, which kept the task bounded for a fresh agent without relying on a remembered sample of events. Most of the boundary was negative: do not add display-time capitalization, do not rewrite parser or journal values, and preserve machine tokens exactly. The sprint passed its own gate and review without a repair, so the run record places no local stress on this cut.