Scriptum
Scriptum is Dodil’s workflow and agent engine. You write a workflow in a typed, purpose-built language — a .scriptum file — Scriptum compiles and type-checks it, then runs it as a thread: a durable, resumable execution in the cloud that calls tools, branches on LLM decisions, fans out in parallel, and streams results.
.scriptum (DSL) → compile → IR → thread (runs in the cloud) → resultOne engine covers two things you’d normally reach for separately: deterministic step workflows (do this, then that, in parallel, with retries) and LLM agents (think → call a tool → observe → repeat). They’re primitives in the same language, so a mostly-deterministic workflow can drop in an agent step, or an agent can call a structured sub-workflow.
Why Scriptum
- A typed language, checked before it runs. Inputs, outputs, and streamed fields are declared with types and constraints, and the compiler validates your workflow against each tool’s I/O schema — typos and bad field access are caught at compile time. Every script publishes a ScriptContract: a self-describing schema other systems (forms, K3 routers, LLM agents) validate against.
- More than an agent loop. A composable set of primitives —
do,each,decide,together,pipe,agent,ask,plan,emit,yield,wait, … — see Scriptum Language. - Durable cloud threads. A run is a thread with persistent per-step state. Threads are resumable: on an unhandled error a thread pauses so you can inspect and resume it instead of losing the run. Progress streams live.
- Versioned like Ignite. Author in a draft → compile → test → publish an immutable numbered version; roll back anytime.
How it fits with Dodil
- Inference runs on Ignite . Every model capability —
llm,embed,rerank,transcribe,infer— dispatches to Ignite’s managed model service. Cloud tools run as Ignite serverless functions. - Data lives in K3 . Native tools read and write K3 tables, object storage, and vector collections.
- K3 pipelines run Scriptum templates. A K3 pipeline names a Scriptum script as its processing step and validates inputs against that script’s ScriptContract.
In this section
- Quickstart — write, compile, and run your first script
- Core Concepts — scripts, drafts & versions, threads, tools, env, the ScriptContract
- Scriptum Language — the DSL: structure, types, every primitive, with examples
- CLI Guide — the
dodil scriptumcommands - API Reference — the ScriptumService RPCs
- Recipes — end-to-end workflows
CLI: dodil scriptum — see Install the CLI .