Stage-Gated Workflow | LlamaPress Pattern Catalog
LlamaPress
Move Through Workflow
Workflow topology

Stage-Gated Workflow

A record cannot advance to the next stage until stated conditions are met, and the interface says exactly which condition is blocking it.

Move Through Workflow Act & Decide

A process has rules — no job starts without insurance on file, no invoice sends without approval — and the rules live in people's heads. They are enforced by whoever notices, which means they are enforced inconsistently and discovered late.

Live demo — try it Open full screen
Use when
  • Real conditions must hold before work proceeds, and the cost of proceeding wrongly is high.
  • The same conditions apply to every record, so they can be stated once.
  • People currently enforce the rules by memory and vigilance.
Avoid when
  • The rules are advisory. A gate that gets overridden constantly is worse than a warning.
  • The conditions differ every time, so no gate can be stated.
  • Speed matters more than correctness here, and a blocked record costs more than a wrong one.

The shape

  New ──▶ Scheduled ──▶ In progress ──▶ Invoiced
           ▲
           └── GATE: to schedule this job
                 ✓ Client contract signed
                 ✓ Purchase order raised
                 ✗ Insurance certificate on file   ← blocking, and it says so
                     → Upload certificate

           [ Schedule job ]  unavailable: 1 condition outstanding
           [ Override (ops manager) ]  reason required, recorded

Four properties:

  1. The gate is visible before it blocks. Conditions are listed on the record from the moment it enters the stage, so nobody is surprised.
  2. The block names the specific condition and links to the fix.
  3. Overrides exist, are role-limited, require a reason, and are recorded.
  4. Gates evaluate live, so satisfying a condition unblocks immediately.

Why it works

It moves a rule from memory into the system, which is the difference between a policy that mostly happens and one that always does. The value is not enforcement for its own sake — it is that the rule becomes stated, and a stated rule can be argued with, measured and changed.

The reporting is the sleeper benefit. Once gates are explicit, "what is blocked and by what" is a query. Most businesses discover that one gate accounts for the majority of their stalled work, and that is usually actionable in a way nobody could see before.

The override is not a weakness

Teams often resist overrides because they seem to defeat the point. In practice the opposite is true: a gate with no override gets routed around. People will create a duplicate record, mis-set a field, or do the work outside the system entirely — and then you have neither the rule nor the record.

A recorded override with a reason keeps the work inside the system and turns exceptions into data. If one gate is overridden 40% of the time, it is the wrong gate, and now you can prove it.

Getting it wrong

  • A disabled button with no explanation. The single most common failure — the person cannot proceed and cannot find out why.
  • Gates discovered on refusal, rather than shown on arrival at the stage.
  • No override, which pushes work out of the system.
  • An unrecorded override, which is the same as no gate but with more ceremony.
  • Gates on advisory rules, which trains everyone to override reflexively and devalues the real gates.
  • Stale evaluation, where satisfying the condition does not unblock until someone reloads or a nightly job runs.

Exemplars

Deployment pipelines are the clearest technical example: tests, review and checks are conditions on a transition, the failing one is named, and a break-glass override exists and is logged.

Regulated onboarding — banking, insurance, healthcare — is where the pattern originates commercially, and where the reporting benefit is most visible: the blocked-by breakdown is the operational dashboard.

Procurement approvals demonstrate the override design well: thresholds determine who may override, and the reason field becomes the audit trail.

The extractable rule: a gate must explain itself before it refuses. A rule the software knows and the person does not is not a gate, it is an obstacle.

Instead of this, consider

Same problem, different trade-off. Pick on the condition, not on taste.

Checklist Workflow
When: The items must be tracked but should not BLOCK anything.
Linear Workflow
When: Stages are enough and the conditions are not worth enforcing in software.

Ask Leo for this

Paste this into your Leo chat. It describes the behaviour, not the code, so Leo can fit it to your data.

Prompt
Add gates to this workflow.

- State each gate as a named, checkable condition attached to a specific
  transition, not as a general rule. "Cannot move to Scheduled until the
  insurance certificate is on file."
- Always show the gate BEFORE it blocks: on the record, list the conditions
  for the next stage and which are met. Nobody should learn about a gate by
  being refused.
- When the advance action is unavailable, say precisely which condition is
  outstanding and link to the thing that would satisfy it. Never a disabled
  button with no explanation.
- Provide an override for a named role where the business genuinely needs one.
  An override must require a reason, be recorded in the history, and be
  visible on the record afterwards.
- Evaluate gates live, so satisfying a condition unblocks the record
  immediately without anyone re-checking.
- Report on what is blocked and by which gate, across all records. The most
  valuable output of this pattern is learning which gate stalls everything.

Related

Pattern
Checklist Workflow
The same conditions tracked without blocking — decide deliberately which you want.
Pattern
Linear Workflow
The stages the gates sit between.