Skip to main content

Interface: TransitionChange

Defined in: packages/core/src/application/use-cases/transition-change.ts:96

Performs a lifecycle state transition on a change with approval-gate routing, workflow requires enforcement, task completion gating, and hook execution.

Handles the two smart-routing decision points:

  • ready → implementing is redirected to ready → pending-spec-approval when the spec approval gate is active.
  • done → archivable is redirected to done → pending-signoff when the signoff gate is active.

When the target step declares requiresTaskCompletion, each listed artifact is content-checked for incomplete items. This is controlled per-step, not globally for all artifacts with taskCompletionCheck.

Enforces workflow requires for the target step and executes run: hooks at step boundaries (unless skipped via skipHookPhases).

Methods

execute()

execute(input, onProgress?): Promise<TransitionChangeResult>

Defined in: packages/core/src/application/use-cases/transition-change.ts:132

Executes the use case.

Parameters

input

TransitionChangeInput

Transition parameters

onProgress?

OnTransitionProgress

Optional callback for progress events

Returns

Promise<TransitionChangeResult>

The transition result with the updated change

Throws

If no change with the given name exists

Throws

If the transition is not permitted, requires are unsatisfied, or incomplete tasks remain

Throws

If a source.post or target.pre hook exits with a non-zero code