Skip to content

v2.4.0 ·

Overnight runs decide small calls and leave a note

Autopilot runs agents with nobody watching. Until now the rule they follow said that any situation it did not list was a hard stop. So an item could park at 1am on a question a person would have answered in ten seconds, like whether a figure is shown in dollars or tokens. The night ended with a parked item instead of a pull request.

The agent already wrote down every default it took. Nobody was asked to read that log, and a good call never fed back into anything.

What changed

A situation the rule does not list is now decided and logged, as long as the choice sits inside what the roadmap item says success looks like. Each entry gets a type. An interpretation is how an unclear requirement was read. A deviation is where the design was not followed, and why. An open question is a call the agent thinks a person must make.

For an open question the agent still has to build something, or the item never reaches a pull request. It builds the option that is easiest to undo and says how to switch. Then autopilot opens the pull request and waits for you to merge it, even when it was set to merge and release on its own. When CI goes green it tells you how many questions are waiting and which command to run, and sends one desktop notification.

In the morning, aidlc autopilot review <instance> lists every entry and walks you through the ones without a verdict. Keep it, reject it, or promote it. Promoting appends the entry to a decisions file in the guidance folder and registers it as always-read, so the next item starts with it. Open questions are never promoted.

Why this way

The four hard stops did not move a word: the constitution, deleting data the session did not create, credentials and permissions, and scope beyond the item. A test compares that section with its old text.

Rejecting does not reopen anything by itself. It prints aidlc amend <instance> --impact, because the amendment has to say what changes, and that is your call.

The review command refuses to run for an agent, by the same terminal check the other person-only commands use. I did not add it to the approval guard's list, since changing what the installed guard refuses felt like a permissions change I should not make unattended.

What it does not fix

Nothing checks that the agent picked the right type. A call that needed you, labelled as an interpretation, merges like any other. The review shows it to you, after the fact.

A reviewed item also does not go back into the merge queue. You merge it, the same as an item set to stop at the pull request.

And the always-read guidance in this repo already sits at 20,428 of its 20,480 byte budget, so the first promoted entry takes it over. aidlc status will say so.