Core Concepts
The vocabulary behind every Scriptum workflow.
Scripts
A script is a named, org-scoped workflow definition β metadata (name, description, tags) plus a versioned body of Scriptum DSL. The name is its identifier, unique per org. A script moves through CREATED β DRAFT β ACTIVE, and can be DISABLED or ARCHIVED.
Drafts & versions
Scripts are versioned like Ignite apps:
SaveDraft β CompileDraft β (TestDraft) β PublishDraft β version N (immutable)- A draft is the working copy β DSL or pre-compiled YAML β held until you publish.
- Compile type-checks the draft and produces the IR; the version moves
DRAFT β COMPILING β COMPILED β ACTIVE, demoting the previous active version toSUPERSEDED(orFAILEDon error). - Rollback re-points the active version to any prior one.
Threads
A thread is one execution of a script version β a durable run in the cloud. It has a status (PENDING β RUNNING β COMPLETED, or PAUSED / FAILED / CANCELLED), a current step, and a persistent record per step (input, output, diagnostics, timing).
- Resumable. By default an unhandled error pauses the thread rather than crashing it β you inspect the failed step and
resume(optionally overriding its input). Scripts can also declareon errorhandlers (retry / fallback / ignore). - Step paths are hierarchical (e.g.
1.0.2) so steps inside iteration, parallel lanes, and pipes are individually addressable. - Live progress streams over
WatchThread/WatchStep, and large outputs stream in chunks.
Tools
A tool is a callable a do step invokes. Three kinds:
- Native β built-in functions (HTTP, files, search, K3 reads/writes, β¦).
- Cloud β Ignite serverless functions, imported by name.
- MCP β Model Context Protocol tools (preview).
Plus five built-in model capabilities the engine handles directly with no declaration: llm, embed, rerank, transcribe, infer β all dispatched to IgniteΒ βs managed model service.
Env
A script reads runtime configuration from an environment: a tenant-scoped key/value store plus an optional per-script overlay merged on top (an empty overlay value defers to the tenant value). A thread opts in to loading env with load_env.
The ScriptContract
Every script, version, and template publishes a ScriptContract β the typed schema derived from its input / output / stream / env blocks, enums, and constraints. Itβs the single source of truth consumers use to validate inputs and render forms without re-parsing the DSL β including K3 pipelines, which validate a pipelineβs inputs against the named Scriptum scriptβs contract. See the ScriptContract appendix.
Templates
Templates are read-only starting points β published scripts you can list, inspect, and create a new script from. Theyβre grouped by category (core, ecommerce, embedding, vision); trust levels vary, so review a template before relying on it.
See also
- Scriptum Language β the DSL in depth
- API Reference β the RPCs that create and watch threads
- Quickstart