ablative docs
↑↓ move↵ openesc close
Stack Notebook ablative.com.au

Run and routing commands

Captured help for every execution operation and loaded-package routing command.

Open .md

versions

List every loaded workflow version with its routing flag (operator API)

aion versions [OPTIONS]
--workflow-type <WORKFLOW_TYPE>
Show only versions of this workflow type

venues

Which venues run each role-bound flow, and which are BEHIND the newest source deployed for it (operator API).

aion venues [OPTIONS] [FLOW]
[FLOW]
Show only venues of this flow

route

Re-point routing for a workflow type at an already-loaded version (rollback / roll-forward; operator API)

aion route [OPTIONS] <WORKFLOW_TYPE> <CONTENT_HASH>
<WORKFLOW_TYPE>
Logical workflow type
<CONTENT_HASH>
Content hash of the already-loaded target version

unload

Unload a non-routed, unpinned workflow version (operator API)

aion unload [OPTIONS] <WORKFLOW_TYPE> <CONTENT_HASH>
<WORKFLOW_TYPE>
Logical workflow type
<CONTENT_HASH>
Content hash of the version to unload

start

Start a workflow execution

aion start [OPTIONS] <WORKFLOW_TYPE>
<WORKFLOW_TYPE>
Workflow type registered with the server
--input <INPUT>
JSON input payload for the workflow [default: null]
--input-file <INPUT_FILE>
Read the JSON input payload from a UTF-8 file instead of `--input`
--name <DISPLAY_NAME>
Optional display name, trimmed and recorded on the workflow. Commands target the workflow id. Describing any run returns the most recently recorded workflow name; a continue-as-new successor inherits it.

signal

Send a signal to the latest run of a workflow

aion signal [OPTIONS] <WORKFLOW_ID> <SIGNAL_NAME>
<WORKFLOW_ID>
Workflow identifier
<SIGNAL_NAME>
Signal name
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted
--payload <PAYLOAD>
JSON signal payload [default: null]
--dry-run
Validate the target, declared signal, and payload schema without delivering it
--http-endpoint <HTTP_ENDPOINT>
HTTP listener used to read the target version's deployed signal contract [env: AION_HTTP_ENDPOINT=] [default: http://127.0.0.1:8080]

query

Query the latest run of a workflow

aion query [OPTIONS] <WORKFLOW_ID> <QUERY_NAME>
<WORKFLOW_ID>
Workflow identifier
<QUERY_NAME>
Query name
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted
--arguments <ARGUMENTS>
JSON arguments handed to the workflow's query handler. The default `null` is the canonical "no arguments" document [default: null]

cancel

Cancel a workflow run, stop its in-flight activities and recursively cancel Running or Paused descendants.

aion cancel [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--reason <REASON>
Cancellation reason [default: "cancelled by aion"]
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted
  • A single ordinary activity has no public cancellation route. Single agent-attempt Cancel is available through HTTP intervention on an advertised liminal harness; it has no CLI command.

Workflow cancel stops the run’s in-flight activities and recursively cancels Running or Paused descendants. Declared run deadlines use the same cascade. For the narrower HTTP-only agent intervention, read activity control.

Workflow and descendants
crates/aion/src/engine/api_workflow_ops.rs:150–190 and lifecycle/cancel_cascade.rs:267–309 record the target cancellation and recursively cancel Running or Paused descendants. Each run uses its own recorder.
Deadline cascade
crates/aion/src/lifecycle/deadline.rs:173–190 starts the same descendant cascade after a declared run deadline.
Single agent intervention
crates/aion-server/src/api/http/router.rs:497–498 and api/http/intervene.rs:66–109 serve HTTP intervention. worker/intervention.rs:301–303 requires the worker’s advertised primitive.
Transport boundary
crates/aion-server/src/state/accessors.rs:229–239 selects liminal intervention transport. state/routing.rs:86–101 supplies an unreachable transport otherwise; an unreachable attempt returns StaleTarget. The CLI has no intervention command.

retire

Retire a workloop: run its declared `retire` body, record the retirement, and withdraw the loop from the cadence sweep.

aion retire [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workloop identifier
--reason <REASON>
Reason recorded on the retirement, verbatim, in the loop's history [default: "retired by aion"]

reopen

Reopen a terminal-reopenable (Failed or Cancelled) run and re-drive it

aion reopen [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted

pause

Pause a running workflow, durably holding new activity dispatch

aion pause [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--reason <REASON>
Optional pause reason [default: ""]
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted

resume

Resume a paused workflow, releasing the dispatch hold

aion resume [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted

list

List one page of workflow executions, newest start first. Pass the returned `next_cursor` as `--cursor` to read another page

aion list [OPTIONS] --limit <LIMIT>
--status <STATUS>
Optional workflow status filter. Accepted values: running, completed, failed, cancelled, timed-out, continued-as-new, paused
--workflow-type <WORKFLOW_TYPE>
Exact workflow type to list, as with MCP `list_runs`
--limit <LIMIT>
Maximum rows in this page (required, non-zero)
--cursor <CURSOR>
The `next_cursor` of a previous page under the same filter

describe

Describe a workflow execution: summary facts, run identity, and the history head sequence. The full event history is `aion inspect`

aion describe [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest run when omitted
--raw
Show raw payload byte arrays instead of decoded payloads

tail

Tail this run and its direct child legs as one interleaved transcript. A finished run replays and exits

aion tail [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Parent workflow identifier. Child identifiers are derived; do not supply them
--run-id <RUN_ID>
Specific parent run. Defaults to the latest recorded run
--http-endpoint <HTTP_ENDPOINT>
HTTP/WebSocket listener used by child and transcript APIs. May also be set with `AION_HTTP_ENDPOINT` [env: AION_HTTP_ENDPOINT=] [default: http://127.0.0.1:8080]
--no-follow
Print the retained transcript snapshot and exit instead of following live sockets

inspect

Time-travel over a recorded run's event-store oplog.

aion inspect [OPTIONS] <WORKFLOW_ID>
<WORKFLOW_ID>
Workflow identifier
--run-id <RUN_ID>
Specific run identifier. Defaults to the latest recorded run
--from <FROM>
Fork the what-if re-run from this recorded event sequence
--mock <MOCK>
Mocked outcome JSON for the what-if fork (see the command help)

List returns one page; carry its cursor with the same filters to continue. Inspect what-if replay is read-only. Read a terminal run through its history.