Completion

Two related concepts: whether requirements are currently satisfied, and whether a completion transition was recorded in storage.

requirementsSatisfied

True when every applicable required item is complete or inapplicable. Can become true without a new onboard.flow_completed when an incomplete item becomes inapplicable (e.g. fact flip).

completionTransitionRecorded

Stored flag set once when onboard.flow_completed is accepted. Copy-only config changes across revisions do not emit a second completion event.

Empty / optional only

A flow with no applicable required items does not auto-complete. Optional-only remaining steps show a banner, not 100% completion.

Inapplicable shrink

When eligibility or facts hide required items, requirements may become satisfied without retroactively firing flow_completed if completion was never recorded.

Related: Progress · Summaries