Skip to Content
We are live but in Staging πŸŽ‰
Core Concepts

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 to SUPERSEDED (or FAILED on 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 declare on error handlers (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