Skip to main content

Flow semantics

What a ticket is, and how the engine drives an agent turn without ever talking to a model itself.

A ticket is one run of a flow. The engine starts it from the flow's input, runs the nodes along the edges, and stops when the flow reaches END or when it needs a person.

Agents and harnesses​

The engine never talks to a model itself. For each agent turn it sends a harness a request with:

  • the agent's prompt, followed by an engine preamble.
  • the artifacts the agent declares in reads.
  • the feedback addressed to it.
  • the JSON Schema of what it must write.

The harness reports every model and tool call to the engine's ledger, which answers continue, hold, pause or stop. When a turn pauses, the engine resumes it later from the harness's resume token, so a paid call is never repeated.

Lanes and maps​

  • A lane node runs a sub-flow on its own blackboard. Its outputs come out under their outside names (impl.{scope} → impl.api).
  • A map node runs a lane once per item of a list, up to maxItems items and no more than maxParallel at a time. Each branch's artifacts come out as name.0, name.1…, and an agent reads all of them with name.*.

See also​