Runtime lifecycle / flow

In development

One scheduler, many declared transitions

The Millrace lifecycle moves from selected plan to claim, dispatch, evidence, transition, recovery, and workflow-specific closure through durable state.

Page state reviewed 2026-08-15. The page does not expand the release evidence.

The lifecycle

  1. Select authority. A workflow package is verified and a compiled plan with an authority fingerprint is admitted and selected.
  2. Find eligible work. The daemon evaluates current durable state against the selected plan.
  3. Claim one activation. The runtime fences the work item before dispatching it to the selected runner.
  4. Perform bounded work. The runner receives the selected prompt and assets and returns evidence.
  5. Apply the result. Millrace authenticates the evidence, validates the marker and artifacts, and applies one legal transition.
  6. Route or wait. The graph may select another stage, a retry, a recovery route, a durable wait, quarantine, or an operator decision.
  7. Close by contract. Completion occurs only when the selected workflow declares a legal closure action and current state satisfies its prerequisites.

Restart is part of the flow

On startup, the daemon opens and integrity-checks state, classifies current runner sessions, replays an unapplied successful completion when verified, and refuses to guess when a session may still be live. The daemon lifecycle documentation describes the restart and shutdown boundaries.

The flow is not a universal ladder

The runtime does not hard-code a Builder-to-Checker sequence. A selected workflow defines its own graph, stage contracts, legal markers, recovery behavior, and completion rule. The common part is the authority boundary: agents return evidence, while the compiled runtime decides what can happen next.