Sub-step statuses and their progression
The policy implementation follows.
ts
reportedStepStatusCatalog = {
/** No status reported yet; only `fix` uses this as an intermediate state. */
unknown: {
terminal: false,
next: ['unknown', 'planned', 'running', 'success', 'error', 'cancelled', 'skipped'],
},
/** Declared by the node but not started. */
planned: {
terminal: false,
next: ['planned', 'running', 'success', 'error', 'cancelled', 'skipped'],
},
/** Started and still active; may only stay running or finish. */
running: { terminal: false, next: ['running', 'success', 'error', 'cancelled'] },
success: { terminal: true, next: [] },
error: { terminal: true, next: [] },
cancelled: { terminal: true, next: [] },
skipped: { terminal: true, next: [] },
} as const