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

Workflows and runs

Understand execution identity, namespace scope, recorded status and worker queues.

Open .md

Names and handles

workflow_type
The deployed entry-module name. Venue-bound deployment names a distinct type; read the deployment receipt.
workflow_id
The durable UUID of one execution chain. Names and tags are labels and never an address.
run_id
The UUID of one generation. Carry it with the workflow id for historical reads and transcript attempts.
namespace
The authorization scope, distinct from an activity task queue.
task_queue
The worker pool an action dispatches to. Worker admission checks the declared contracts.
package_version
The immutable package content hash pinned when a run starts.

A display name helps a person find a run. Several runs can share a name. Use the UUID in commands. List returns candidates; choose the intended execution before acting.

Status comes from history

Running
The run has started and has no terminal event. It can be waiting for a signal, timer or worker.
Paused
Dispatch is durably held. Resume releases the hold and the run can continue.
Completed
A completion event recorded a successful result.
Failed
A failure event recorded the reason and any structured detail.
Cancelled
A cancellation was recorded.
TimedOut
The run deadline elapsed.
ContinuedAsNew
This generation ended by starting a successor with the same workflow id and a new run id. Gleam exposes continuation; AWL workloops use route start, while ordinary AWL workflows have no continuation statement.

A Running status covers execution and durable waits. A run may be asleep, waiting for approval or awaiting a compatible worker. Read its current step, unserved work and worker attribution together.

Pause holds new activity dispatch while the run retains its history and completed effects.

Histories and generations

A continued-as-new execution has several runs under one workflow id. The new run has its own history and step numbering. A historical transcript handle must include the run that produced it.

A failed or cancelled run can be reopened through the supported control surface. Reopen can be refused when the pinned package is unavailable or invalid. Read the refusal and restore the required package rather than assuming current routing repairs an old run.

Cancel a workflow tree

Workflow cancellation records the selected run’s terminal and recursively cancels its Running or Paused descendants. Each run keeps its own cancellation record. A declared deadline also starts this cascade. A parent awaiting a separately cancelled child records ChildWorkflowFailed with a cancelled: error prefix.

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.

Next

Read durability and replay and operating runs.