Skip to main content
A real engagement can be blocked, sent back, interrupted, or stopped. This page names those paths so a partner system can model each one as a state, without encoding the trigger criteria. State meanings are defined in Public states; the forward path each exception branches from is in Lifecycle overview. Every row carries a status:
  • Live. The path is a code-backed part of the current system.
  • Contract preview. The state names are part of the published contract vocabulary, but the transition is not yet wired as a live path. Model it; do not depend on observing it yet.
  • Live as an outcome record. The value is code-backed, recorded as an outcome record adjacent to the lifecycle rather than as a lifecycle state.

Loop-backs

A loop-back returns an engagement to an earlier point without ending it. It is the normal exception case, not a failure.

Loop-backs

The seven loop-back edges, drawn against the forward path they return to. Every loop-back in this figure is contract preview.

Review gate outcomes

The review gate concludes in one of a small set of outcomes. The gate stays opaque: the outcome is visible, the evaluation is not.
rejected and waived are recorded as gate outcome records adjacent to the lifecycle, not as lifecycle states. The lifecycle state remains opaque while an outcome is being decided.

Stopped before the engagement exists

A proposal can end without ever becoming an engagement. These outcomes occur before proposal_accepted_paid, so no engagement record is created.

Interrupted preparation

An automated preparation run can end without producing artifacts: failed, paused, or cancelled. These are runtime statuses, not lifecycle transitions. The engagement stays in its current lifecycle state, and preparation can be re-run under the same authority rules.

Termination and withdrawal

There is no terminated or withdrawn lifecycle state today. Do not model mid-engagement termination as an observable state. If an engagement stops, it stops through one of the outcomes above or by remaining in a non-terminal state. A formal termination path is a roadmap item. When it ships, it will be added to the Lifecycle enum first.

Terminal states

archived is the only terminal lifecycle state. The outcome statuses that stop progress without a lifecycle transition are declined, expired, voided, refunded, failed, and cancelled. The complete outcome-status vocabulary is the outcome table in the Lifecycle enum.
This page names states, directions, triggers, and authorities. It does not describe the deciding criteria: what makes inputs insufficient, what a gate evaluates, or when review authority requests rework. See the Disclosure boundary.