Scriptum Feature Status
Last validated: 2026-05-29
This page tracks what is fully implemented versus preview/partial across the Scriptum API surface, the compiler/engine primitives, and the CLI. Threads run in the cloud; there is nothing to host or schedule yourself.
Service Capability Matrix
| Capability | Status | Notes |
|---|---|---|
| Script create/get/delete | Implemented | Full lifecycle |
| Script list | Implemented | Tag filtering and paging |
| Draft save/compile/test/publish | Implemented | Compile returns AST/IR/diagnostics |
| Version list/get/rollback | Implemented | Rollback resolves previous active automatically |
| Thread create/get/list | Implemented | Full create and query surface |
| Thread cancel | Not implemented | CancelThread is defined in the API but not yet implemented |
| Thread resume (ask) | Implemented | API-only; no CLI command |
| Thread watch | Implemented | Live event stream |
| Step watch | Implemented | Per-step event stream |
| Thread result (unary) | Implemented | Large outputs return a truncation marker; use streaming |
| Thread/step result streaming | Implemented | Chunked streaming of full payloads |
| Artifact listing | Not implemented | ListArtifacts is defined in the API but not yet implemented |
| Tool list | Implemented | Tenant-visible catalog with paging |
| Tenant env CRUD/import | Implemented | See env list security note below |
| Script env overlay CRUD | Implemented | API-only; no CLI command |
| Templates list/get | Implemented | Recursive load with policy checks |
| ScriptContract typing | Implemented | Typed inputs/outputs/stream/env/tools |
| Health check | Implemented | Service status, version, uptime |
Compiler + Engine Primitive Status
| Primitive/Construct | Status | Runtime behavior |
|---|---|---|
execute (do) | Implemented | Tool/model invocation with context bindings |
iterate (each) | Implemented | Sequential and batch iteration |
decide | Implemented | Rule- and LLM-based branching |
evaluate (check) | Implemented | Gate with pass/fail actions |
parallel (together) | Implemented | Concurrent lanes |
pipe | Implemented | Staged streaming pipeline |
wait | Implemented | Duration sleep or condition polling with timeout |
plan | Implemented | LLM-generated sub-script, compile-checked before running |
run | Implemented | Executes a sub-script as a sub-thread |
ask | Implemented | Durable pause, pending input contract, resume continuation |
repeat | Implemented | Repeat with counters/time controls |
send | Partial | Slack and email channels implemented |
emit / yield | Implemented | Terminal output and streamed values |
agent | Implemented | Tool-using agent loop |
CLI Coverage Gaps
The CLI does not yet wrap every implemented API capability. These are API-only; see API Gaps & Workarounds for the calls.
| Area | Gap |
|---|---|
| Resume thread | No CLI thread resume; use the API |
| Script env overlay | No CLI mapping for GetScriptEnv/UpdateScriptEnv |
| Templates | No CLI template list/get command group |
| Get published script source | No CLI command for GetScriptCode |
Preview / Partial Surfaces
- MCP tool source registration — registering tools from an MCP source is preview-only; the native and Ignite-backed catalog is fully available.
- Inline-Python
dependencies—do … with pythonruns, but declaring third-partydependenciesfor resolution is preview. See Inline Python. sendchannels — only Slack and email are implemented today.
Production Suitability
Suitable now for:
- Full script, draft, and version lifecycle
- Durable thread execution with live watch and result streaming
- Large-output retrieval via result streaming
- Ask/resume human-in-the-loop workflows (resume via the API)
- Tenant + per-script env overlay with effective merge
Use with awareness for:
- Not yet implemented: thread cancel, tool registration, artifact listing
- CLI parity gaps (resume, templates, script-env, script source)
sendchannel coverage beyond Slack/email- Preview surfaces: MCP tool source registration, inline-Python dependencies
See also
- CLI Guide — what the CLI covers and where to use the API.
- API Reference — full RPC request/response shapes.
- Recipes — runnable end-to-end scenarios.
- Scriptum Language — primitives and the ScriptContract.