Schema
ApprovalStepDefinition
Approval step - pauses for human approval. Stuart 2026-06-25: the V4 executor renders the approval gate from ``step.get("instruction")`` (inline_cycle_workflow.py β the DAG task description and the step ``query``), NOT from ``summary``/``actions``. The stored shape for seeded approval gates (e.g. FIC WS3) therefore carries ``instruction`` and omits ``summary``/``actions``, which the strict write-model rejected (``instruction`` forbidden by ``extra='forbid'``; ``summary``/``actions`` required). Accept ``instruction`` and make ``summary``/``actions`` optional so the PATCH round-trip works for both styles. Templates that legitimately author rich ``summary``/``actions`` gates keep validating unchanged.
| Field | Type | Description |
|---|---|---|
idrequired | string | β |
namerequired | string | β |
type | string | β |
description | string | null | β |
depends_on | string | object[] | β |
stage | string | null | β |
timeout | string | β |
retry_policy | RetryPolicy | null | β |
error_handler | StepErrorHandler | null | β |
impact_level | "low" | "medium" | "high" | "critical" | Impact classification for steps.lowmediumhighcritical |
run_mode | "propose" | "auto_run" | Execution mode for steps.proposeauto_run |
requires_approval | boolean | β |
metadata | object | null | β |
examples | StepExample[] | null | Attached example files for this step. Each entry pairs a platform.file_uploads.file_id with a role + tags + notes so the runtime can shape its instruction. Bounded at 20 to keep a reasonable upper limit on the prompt preamble. |
tags | string[] | null | Categorical labels on the step itself (e.g. 'pdf-read', 'coutts', 'fy25'). Free-form; recommended tag set is documented per workstream surface. |
instruction | string | null | Natural-language gate prompt the runtime renders for the approver. Used in place of summary/actions for instruction-driven gates. |
summary | ApprovalSummary | null | β |
actions | object | null | β |
escalation | ApprovalEscalation | null | β |
auto_approve | object | null | β |