flow.yaml is the package contract for a delivery process. Schema version 1 defines metadata, compatibility, nodes, transitions, inputs, outputs, gates, and bounded rework.

Shape

Treat this as a structural example. Node settings depend on the node kind and the engine compatibility floor declared by the package.

Authoring rules

  • Give every node a stable unique identifier.
  • Declare all transition targets.
  • Bound every rework loop.
  • Keep runner selection explicit or inherit it intentionally.
  • Declare required inputs and evidence rather than relying on prompt prose.
  • Use setup scripts only in packages whose executable content is trusted.
  • Raise compat.engine_min only when the Flow needs the newer contract.

Installation contract

MAIster validates the graph and compatibility before a package can run. The installed revision and trust status are recorded. Editing the package source does not mutate an already active Run.