Steps
The body of a .scriptum script is a sequence of steps. Every step starts
with a verb (do, let, each, decide, check, together, pipe,
repeat, wait, agent, ask, plan, run, emit, yield, send), and
indentation — not braces — defines its body. Steps read top to bottom like a
recipe, and each one binds its output with -> so later steps can reference it.
Each language construct compiles down to a single IR primitive. You will see these names in the YAML IR and in step records:
| You write | IR primitive |
|---|---|
do "X" with tool | execute |
each x in list | iterate |
decide "Q" | decide (or branch for rules) |
check "C" | evaluate |
together | parallel |
pipe x from src | pipe |
repeat | repeat |
plan "X" with llm | plan |
run script | run |
wait | wait |
ask "X" | ask |
agent "X" with llm | agent |
let name = expr | let |
emit | emit |
yield | yield |
send "X" via "ch" | send |
The steps are grouped into four pages:
- Core Action Steps —
do,let, native/K3/Ignite tools, and the five built-in model capabilities (llm,embed,rerank,transcribe,infer). - Control Flow & Concurrency —
each,decide,check,together,pipe,repeat,wait. - Agents & Human Input —
agent,ask,plan,run. - Streaming —
yield, the->>operator,send, andpipestaging.
Errors raised while a step runs are covered separately in Error Handling.