One step at a time
Agents see only the next instruction, not the full plan. No 2,000-line prompts. No "jumping ahead". No skipped invariants.
Define agent workflows as YAML trees. The runtime hands the agent one step at a time, verifies the result, and persists the cursor β so workflows stay reproducible no matter how big they get.
Modern LLMs follow Markdown instructions remarkably well β until workflows grow. Then two things go wrong:
abtree borrows the structural reliability of game AI and robotics β behaviour trees β and adapts them for agents. You define the workflow as a tree of small, focused steps. The runtime hands the agent one step at a time, evaluates the result against an explicit invariant, and persists the cursor.
The agent stays focused. The path stays predictable. The state survives.