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: cancelledand 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.