Skip to content

v2.9.0 ·

Autopilot stops only when there is a choice to make

The recommended autopilot setup pauses every item twice: once after requirements, once after design. I would come back in the morning to a row of items waiting for my approval. Most of them had nothing for me to decide. I read the document, found nothing to change, approved it, and the agent picked up again.

The waits were not coming from questions. Across the unattended logs, agents had recorded 22 defaults, 4 interpretations, 1 deviation and 0 open questions. Since the last release, requirements and design already end by naming each open decision or by saying "Nothing open". The signal was there. The pause ignored it.

What changed

When a paused phase completes, autopilot now reads two files in the item's worktree: the phase document and its question file. If the document has a line that reads "Nothing open", and every question in the question file has an answer, the item carries on as if I had approved it. The run log gets one line saying it skipped the pause and which files it read, and the item's decision log gets the same entry, so a review can check the call.

Anything else still waits. A blank answer waits. A document without the line waits. A question file with no answer tags at all waits. Pauses after implementation and testing always wait, because those phases do not write the signal yet. The reader is in packages/cli/src/autopilot/open-decisions.ts.

Why this way

Missing evidence fails toward a person. A wrong wait costs me a minute. A wrong skip hides a decision until the pull request, or later. So the rule only skips when the files say, in a shape it recognises, that nothing is open.

The skip is recorded apart from my approvals. The item's state still says which phases a person actually approved, and which ones were passed because nothing was open.

What it does not do

The agent still stops at the pause. Autopilot then decides whether the item waits, and relaunches it when it does not. That costs one extra session start per skipped pause.

An answer the agent filled in by default, when nobody was there, counts as answered. Those were already safe to merge under the unattended rule, and a real open question still holds the merge at the pull request. And a document can say "Nothing open" while a question hides without an answer tag. Nothing here catches that.