Operating system set to macOS
Documentation jurisdiction set to United States
Sign inConnect Claude
API/schemas
Schema

AgentRunStepDefinition

Agent-run step — runs the FULL agentic loop (``WorkstreamV4Executor``) as one node in the declarative WDL step-DAG ("Autopilot"). Distinct from ``archie_query`` (a single orchestrator query that bypasses the verifier): an ``agent_run`` step works MULTI-TURN with a tool allowlist + declared deliverables until it is done or a budget cap is hit. Runs ``RunMode.AUTO_RUN`` by default (no per-step approval); interruptible via the cycle's pause/resume/cancel signals BETWEEN steps + the budget caps WITHIN the step (the workflow cannot pause mid-activity). The DB ``step_kind`` enum already carries ``agent_run`` (migration 20260601_0220).

FieldTypeDescription
idrequiredstring—
namerequiredstring—
typestring—
descriptionstring | null—
depends_onstring | object[]—
stagestring | null—
timeoutstring | null—
retry_policyRetryPolicy | null—
error_handlerStepErrorHandler | null—
impact_level"low" | "medium" | "high" | "critical"Impact classification for steps.
lowmediumhighcritical
run_mode"propose" | "auto_run"Execution mode for steps.
proposeauto_run
requires_approvalboolean—
metadataobject | null—
examplesStepExample[] | nullAttached 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.
tagsstring[] | nullCategorical labels on the step itself (e.g. 'pdf-read', 'coutts', 'fy25'). Free-form; recommended tag set is documented per workstream surface.
goalrequiredstringNatural-language objective for the agentic loop (Jinja2-templated).
toolsstring[] | nullTool allowlist for the agent, passed to build_tool_router(allowed_tools=…). None = all cycle tools.
deliverablesobject[] | nullDeclared deliverables (name + type [+ description/schema]) the agent must produce.
max_turnsintegerTool-loop turn cap — the in-step interruptibility bound.
max_cost_usdnumberCost budget cap in USD.
max_duration_minutesintegerWall-clock cap in minutes.
inputsobject | nullOptional Jinja2 input bindings ({{ inputs.* }} / {{ outputs.* }}).
expected_outputsobject[] | nullOutput schema hints for DAG threading (name + type per entry).