Skip to content

v1.98.0 ·

One panel for everything being built

The console had two lists of the same thing. AUTOPILOT, across the top, showed what autopilot was building, with step badges, phase, tasks and pull request. INSTANCES, further down, showed every unfinished instance as one plain line. If I started work by hand in another terminal, it only ever got the plain line.

So the richer view depended on who started the work, not on what was happening. And the richest view of all, the watch view with its cards, table and lanes, sat behind a separate key.

What changed

The two panels are now one, called BUILDING, at the top of aidlc. Every instance in flight is a row, listed once. A ◆ means autopilot is building it. A ● means a session holds its claim, so someone is working on it by hand. Everything else that is unfinished sits below in a dimmed idle group marked ○, still visible, just quieter.

Running rows are drawn by the watch view's own renderer, so they get the same step badge, phase strip, task bar, time in step, pull request and last event. v cycles cards, table and lanes inside the panel. The old w key is gone, because the panel is the watch view now. aidlc autopilot status --watch still exists for a plain shell.

Why this way

The hard part was the attended rows. They have no autopilot event stream, so their detail comes from lifecycle state instead: the phase from the instance's own state file, tasks counted the way aidlc status counts them, time in step from when the phase was entered, and the last event from the transitions log. The state is read from the worktree the claim names, since that is where an instance started in a worktree keeps its files. A field with no source is left out. It never shows as zero.

"Running" is defined once: autopilot tracks it, or a claim was renewed inside the claim timeout. I chose that over anything cleverer because both facts already exist and neither needs a new file.

I reused the watch renderer rather than writing a second one. It gained one thing, a short prefix per row for the selection mark and the symbol, and its own output did not change.

What it does not do

You cannot approve or stop an attended instance from the console. It belongs to its own session, so the item keys just say so. And on a small terminal, cards fold to one line per row once they stop fitting, which loses the detail this change was meant to add.