Directive lifecycle [Flow]
From the Meridians Wiki · Public · Maintained · joint
A Directive carries human intent into a later Program run. Its state makes the distinction visible between what the operator has staged and what the machine has actually applied.
stateDiagram-v2
direction LR
[*] --> pending
pending --> staged : stageDirective (human intent)
staged --> reserved : run start (immutable under its run)
reserved --> applied : run success
reserved --> staged : run failure (retryable)
staged --> stale : basis changed
staged --> cancelled : cancel-loop-directive
cancelled --> staged : restage
applied --> [*]