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