Skip to content

v1.43.0 ·

The next item is not a guess

The problem

Nothing orders the backlog. "What next?" is answered by a person reading ten items, or by an agent guessing. The agreed order for this project's ten backlog items exists only in a chat message. A driver that works the backlog unattended (change 3) needs one command that answers "next" the same way every time, and never promotes anything itself.

How it could be solved

Three decisions, each about keeping the pick boring.

The first was whether the command that picks the next item should be able to start it. Starting work from the backlog is the one step a person keeps, so the command was given no way to write at all. A test hashes the whole roadmap before and after every kind of run and fails if a single byte changes.

The second was what to do with a broken item. One malformed rank or a dependency on unfinished work could have stopped the command. Instead the item is left out and named, and the rest of the backlog is still ranked, so one bad file cannot stall everything behind it.

The third was where the agreed order should live. It had existed only in a conversation. It now sits on each item as a rank, as an ordinary project-declared field, so the framework does not own a "priority" concept every project must adopt. And the test that would have pinned the ranks was dropped on purpose: a test over live backlog files would fail every time an item ships, a trap for all later work.

How AIDLC solves it

There is now one command that answers "what should we work on next?" the same way every time. aidlc roadmap next looks at the accepted backlog, leaves out anything still waiting on unfinished work, and names the item with the best rank. Items without a rank come after the ranked ones. An item with a rank that makes no sense is left out and named, so a person can fix it. The command only reads; it never starts work on anything, because choosing to start is a person's decision. This project's backlog now carries the order agreed on 2026-10-02, so the answer is written down in the items rather than in a chat log.