Skip to content

v2.6.0 ·

The agent asks before it builds something else

I picked a two-column layout, Cockpit, for the AIDLC console. The agent built the one-column Stream instead and moved Cockpit to a new roadmap item. Nothing stopped it. The rebuild became its own item, estimated at one to two weeks.

That was the most expensive miss in a spike that read every question AIDLC had recorded: 141 questions, and a person answered 8 of them. The questions that cost us were the ones never asked.

What changed

There is a new rule, .aidlc/resources/rules/departures.md. A departure is a change that narrows, widens or replaces one of three things: a criterion or scope boundary in the requirements, the roadmap item the work came from, or an answer a person wrote down. When design or implementation is about to make one, the agent stops and asks. Keeping what was agreed is always one of the options. If I accept a change to requirements that are already done, it goes through an amendment, not a quiet edit.

Unattended runs used to log this kind of change as a deviation and carry on. Now an unattended run builds what was agreed, even when another option looks better. If it cannot, it stops and parks the item for a person. A deviation now means only a design detail that changes no scope and no chosen option.

Blame gets the same treatment. Which past change caused a bug feeds the change failure rate in aidlc metrics. An unattended run no longer guesses it. It stops.

Why this way

The risk is a rule that fires on everything. So the rule also names what is not a departure: internal names, file layout, the order of work, how something is tested. Those stay the agent's call. Unattended, only "cannot" stops a run. Preferring another option does not.

What it does not do

This is prose the agent reads. No code checks that a design kept to its requirements, and the tests can only check that the rule says what it should. Unattended bugfixes will now park at the blame question. None has run unattended in this repo yet, so I do not know how often that will bite.