concepts

State machine

Pipemason runs as a deterministic pipeline. Phases advance only when their gate is green; failures retry up to a budget, then escalate to a human. Cancels are idempotent and final. This page summarises the rules you can observe from outside.

Transitions you'll see

  • advance — the current phase's gate is green; the pipeline moves to the next phase.
  • retry — the gate failed; the pipeline reruns inside the same phase with adjusted instructions, up to the retry budget in config.yml.
  • escalate — the retry budget is exhausted. The dashboard surfaces the failing artifact and pauses the run waiting on a human.
  • resume — after editing the artifact you call pipemason resume; the failing gate is re-evaluated and the run continues.
  • abort pipemason cancel sets status: cancelled and writes a final audit entry. Idempotent; the branch is preserved.

What you can observe

Three terminal states for any run: complete, failed, cancelled. Two pause states: escalated (waiting on you) and blocked (waiting on an upstream story in a program). The dashboard shows every transition with a timestamp; the same events are in .pipeline/iterations.log on disk.

Self-healing

Many transient failures — model rate limits, flaky tests, race conditions — are caught and retried automatically before they ever surface as escalations. The dashboard shows the retry count next to the current phase, so you know whether a run is slow because it's working hard or because it's chewing through its budget on the same problem. See Handling escalations for what to do when retries don't fix it.

State machine · Pipemason Docs