Depth and siblings
Steps live at a depth, and steps that share a depth are siblings. Together these define the shape of a workflow and the order the engine runs it in.
Depth
depth is an integer starting at 0. Each depth is a level that runs to completion before
the next begins.
The rules the builder enforces:
- There must be at least one step at depth 0 - the entry point.
- Depths must be contiguous from 0 (no gaps: 0, 1, 2, …).
- Each depth is defined once.
Depth 0 runs a single time. Every deeper level runs on the results produced above it - one run per result, or a single batched run (see batches).
Siblings
Steps at the same depth are siblings. In the builder you'll see them grouped together, sometimes labelled "2 siblings" with a shared schema. Siblings:
- share the same output format and the same multi-output / consume-all behavior,
- run within the same level, and
- execute in their defined order.
Use siblings when you want several distinct prompts to run at the same stage - for example, two different analysis angles on the same target - while producing the same shape of output.

Repeat runs
Separately from depth, a scan's configuration can set repeat_runs to execute the
entire workflow more than once. Each repeat is tracked independently, which is useful when
you want multiple passes over the same target to catch non-deterministic findings.
That's the whole workflow model. Next, learn what runs after it in Post-scripts.