Runtime / architecture
In developmentCompile the graph before work can move
Millrace separates agent execution from workflow control by compiling the legal graph, selecting authority, and applying transitions through a durable kernel.
Page state reviewed 2026-08-15. The page does not expand the release evidence.
The graph is the authority
A workflow package can declare stages, graph nodes, queue families, terminal markers, recovery behavior, artifacts, runner bindings, and entrypoint assets. The runtime does not infer meaning from names such as Builder or Reviewer. The selected package defines what those nodes mean.
The compiler resolves that complete decision structure and emits an immutable plan with an authority fingerprint. A later package change does not silently remap a run that already selected a different plan.
Agents perform bounded work
An adapter receives the selected dispatch envelope and returns evidence. It does not choose an undeclared route, enlarge the selected capabilities, or mutate runtime state directly. The kernel checks the returned marker and artifacts against the selected plan before applying a transition.
The runtime architecture guide describes the boundary between workflow packages, compiler, kernel, storage, operators, and adapters. It also states an important limit: Millrace governs transitions and evidence, but a local runner still executes with the permissions of the operator account that launched it.
Durable state is part of the design
SQLite stores control state. Content-addressed storage keeps immutable plans, payloads, and artifacts. Restart loading validates versions, references, fingerprints, and relationships instead of reconstructing authority from incidental files.
The result is a runtime that can expose a refusal, wait, retry, recovery route, or completion as an explicit state. It is not a claim that every workflow has the same lifecycle.