skip to content
Replays

Menu System Coherence

Coherent Monitor Menus

Make run operations reliable, then give the monitor a smaller menu system with clear ownership.

Gantry milestones

2 milestones 9 tasks 20 agents

4 plan 6 execute 11 review 1 fix

141k peak context

98k median execute

Make run operations reliable, then give the monitor a smaller menu system with clear ownership.

1h 40m total 10m 21s per task

4m 55s plan 39m 26s execute 18m 5s review

63 edits 533 commands

codex harness

This run took on the monitor menu from both ends. It first made the rows already on screen truthful: artifact readers had to find the live run, plans had to remain readable after launch, partial merge had to follow driver capability, the journal needed its own reader, and a collapsed assistant pane could not hide a blocker. Only after those operational contracts existed did the second milestone reshape the bar into Gantry, View, Stats, and Inspect, with the assistant controls kept on their divider and the handover documents updated to match.

How this walkthrough is structured

Feature

What did the run build and ship?

The current tree still carries live artifact resolution, durable plan inspection, capability-based merge gating, journal reading, blocker visibility, Stats retry detail, and the reduced monitor menu contract.

Build

How did Gantry structure the work?

The cut kept the hazardous repair work ahead of the visible menu reshape, with one capability re-plan and one repaired gate marking the places where the boundaries were tested.

Milestone 1

Reliable Run Ops

5 tasks 14 agents 1h 1m wall time 141k peak context

The operational layer remains visible in the monitor code. Artifact enumeration, plan opening, journal paging, merge enabledness, and blocker rendering are no longer treated as incidental menu details. Some artifacts from the run itself were later cleaned out with the orchestration record, but the product code and tests still expose the behavior the milestone established.

This milestone made the existing menu actions dependable before any titles moved. Its child sprints were small contracts that later code could consume: a shared artifact root, a durable plan file, a driver capability flag, a journal row, and a collapsed blocker signal. The milestone ledger stayed green across the child work, so the second milestone inherited operational behavior rather than a menu cleanup full of hidden correctness bugs.

Live Run Root

1 agents 9m 31s wall time 119k peak context

The shared artifact helpers and monitor readers still resolve files from the run artifact directory rather than assuming the attach endpoint's parent is the source of truth. Tests cover live worktree preference and completed-run fallback for ledger access, and sprint and report submenus use the same enumeration path. The old behavior survives only as fallback for metadata-poor states.

This sprint was asked to answer one question for every reader: where is the active run's artifact directory. That made it a good first cut because later plan, journal, sprint, report, and ledger work could all rely on the same lookup rule. Its gate and review completed without recorded repair, which fits a bounded path-resolution change with explicit fallback cases.

Durable Plan Artifact

2 agents 9m 44s wall time 141k peak context

New and resumed runs write a run-local plan artifact, and the monitor opens that file through the shared pager. The original plan source remains metadata for diagnostics, but the reader no longer depends on it being present. Current tests still check that a deleted source path does not prevent Open plan from showing the stored artifact.

This sprint turned Open plan from a source-path convenience into a run record contract. It consumed the artifact-root work from the prior sprint, so the agent only had to persist and read the effective plan input across file, inline, resume, and stale-source cases. The run facts record a clean pass through the boundary.

Partial Merge Support

3 agents 10m 21s wall time 103k peak context 1 replan

Run metadata still carries partial-merge support as an optional surfaced capability, and the TUI reads that capability before enabling the merge action. Attached monitors are denied for ownership reasons, while unsupported drivers get a capability reason. Later work has broadened the surrounding lifecycle menu, but this sprint's capability-based decision remains the basis for the row.

This sprint carried the lifecycle-policy correction: partial merge had to follow what the driver says it can do, not whether the front end sees a map-shaped roster. The recorded re-plan belongs here, which is the right place for it because the change affected the contract later menu rows would rely on. After that adjustment, the sprint finished green.

Run Journal History

2 agents 10m 51s wall time 107k peak context

Inspect still contains a Run journal row backed by the run's history file. Selecting it opens a pager title distinct from the ledger and tail-follows while the run is active; an absent file opens an honest placeholder that can refresh when the journal appears. The current tests keep ledger and journal behavior separate.

This sprint added a reader without disturbing the ledger's existing job. The brief kept the work narrow: find the event journal through the shared artifact root, open it in the pager, and follow it while a live run appends. The gate stayed green, which let the later Inspect menu treat the journal as a ready artifact surface.

Collapsed Blocker Signal

2 agents 9m 48s wall time 98k peak context

The collapsed assistant strip still advertises blocked state instead of only unread chatter. Blocker handling keeps inline answer and stop affordances, and keyboard stop behavior continues from the pending blocker state. The assistant handover now documents that blockers live in the transcript and collapsed divider, not in injected menu rows.

This sprint was the safety prerequisite for removing prompt-menu duplication later. It focused on a single state transition: a blocker pending in the assistant transcript while the pane is collapsed. With that signal in place and the existing prompt modal untouched, the menu rework could delete prompt rows without losing the operator's only visible warning.

Milestone 2

Four-Title Coherence

4 tasks 11 agents 1h 20m wall time 98k peak context

The shipped monitor now presents the reduced run bar, a single chat-only application menu, and an assistant divider with its own controls. Stats carries retry policy detail, Inspect owns artifact readers and copy handoffs, and the handover inventory names removed surfaces explicitly. The current documentation also records the assistant/View boundary as shipped rather than pretending the taxonomy is stricter than the code.

This milestone performed the visible menu reorganization on top of the repaired operations. It split the work into an application-menu invariant, a Stats detail move, the final bar reshape, and documentation, so each fresh agent had one taxonomy decision to enforce. The milestone did need repair on the first sprint's gate, and its final review recorded that the View boundary still includes assistant focus and sizing rows.

Application Menu

2 agents 36m 20s wall time 93k peak context 1 fix

The menu constants and builders still make Gantry the application menu, with chat-only mode reduced to that title alone. Prompt-answer rows and the temporary prompt title are gone; the prompt modal and key binding remain outside the menu. Help and About live under Gantry, while the active-runs glance is a read-only chat-only row.

This sprint established Gantry as the leftmost application menu in both run and chat-only contexts. That made it the load-bearing invariant for later title removal, because prompt rows, Help, Chat, and runless Runs could be deleted or relocated against one stable surface. Its first gate went red and a fix ran before the sprint passed, locating the fragile part in the cross-mode title and row oracle update.

Stats Retry Config

2 agents 12m 54s wall time 98k peak context

Stats still renders retry information as part of its live glance. The retry line reports surfaced policy, transient use, reset-wait use, and active parking when applicable, while absent metadata is named instead of fabricated. The same menu offers the full stats and process overlays below the read-only rows.

This sprint moved the useful retry-policy fact before the old Agents title was removed. The brief was deliberately narrow: make Stats explain retry health, configured backoff, and missing configuration without changing the presentation model around it. It passed without recorded repair, giving the next sprint permission to delete the separate retry-status path.

Four-Title Run Bar

1 agents 16m 42s wall time 91k peak context

The current run menu is built as Gantry, View, Stats, and Inspect, with Agents, Tools, Help, Run, Chat, Runs, and prompt titles absent from normal runs. Inspect owns stage logs, journal, git activity, environment, plan, sprint files, reports, ledger, and copy handoff rows. View still contains feed controls and the assistant focus and sizing commands documented by the later handover.

This sprint carried the central reshape from the intermediate menu to the final run bar. It consumed the application-menu, retry-detail, and journal contracts, then assigned remaining actions to lifecycle, display, health, or inspection ownership. The gate and review completed cleanly, but the later milestone note says the assistant pane controls stayed in View, so the shipped boundary is slightly broader than the brief's ideal.

Handover Menu Docs

2 agents 4m 37s wall time 65k peak context

The menu inventory now names the build-run bar, the assistant divider, the chat-only bar, the Stats retry row, the Inspect readers, the copy submenu, and the removed surfaces. The assistant surface contract describes where assistant controls live and how blockers are advertised. The old audit is marked superseded and points readers at the shipped inventory instead of presenting stale title lists as current truth.

This sprint aligned the documents after the executable menu shape existed. Its job was prose maintenance, so the agent could work from the shipped-menu contract instead of re-deciding product behavior. The run facts show an extra green gate around the docs finish, and review still left the milestone-level note about the View taxonomy for future reconsideration.