Keel: everything an agent forgets between sessions

Checked 22 Sep 2026 · By Luke Czak

ArticleUnderstanding AIFree to read

Agents are good at executing and bad at remembering. The fix is not a better prompt. It is holding the project state somewhere outside the session.

Every new agent session starts with amnesia. It does not know the roadmap, the decisions already taken, or which piece of work it is on. So it invents: a fresh plan, new names for things I already named, a second copy of a spec that exists.

Keel holds that state outside the session. Vision, architecture, roadmap, tasks, specs and decisions live in one place that both a person and a tool can query. The vocabulary is fixed on purpose: a Wave is a delivery period, a Task is a unit of work, a Decision is a logged choice, and there are no synonyms. That sounds pedantic until a fresh session renames something that already had a name.

What actually changed how I work is the shape of a task record. A task is not a sentence. It carries acceptance criteria, the proof required before it can be called done, its dependencies, and the set of paths it is allowed to write to. That last field is one of the things that makes it safer to run several lanes at once, because each one has a declared blast radius.

It is also the field I have broken. I filed a task bounded to a seed directory and then edited four test files well outside it. Nothing collided, and nothing in the declared boundary made that anything other than luck. Keel is honest that a lane label helps scheduling and does not by itself prove two pieces of work are independent. The boundary is only a contract if you read it before you write, and I did not.

Comments (0)

Sign in to comment.