Scriptum Feature Status
Last validated: 2026-05-11
This page tracks current implementation status across runtime, API contract, compiler/engine primitives, and CLI support.
Service Capability Matrix
| Capability | Status | Notes |
|---|---|---|
| Script create/get/delete | Implemented | Includes IAM register/deregister integration |
| Script list | Partial | Filtering works; page token progression limited |
| Draft save/compile/test/publish | Implemented | Compile returns AST/IR/diagnostics |
| Version list/get/rollback | Implemented | Rollback supports auto previous resolution |
| Thread create/get/list | Partial | CreateThread has accepted-but-not-enforced fields |
| Thread cancel | Not implemented | API returns UNIMPLEMENTED |
| Thread resume (ask) | Implemented | API-only; no CLI command |
| Thread watch | Partial | Event filtering omits several event families |
| Step watch | Partial | No snapshot event emitted |
| Thread result unary | Partial | Large output truncation marker; stream fallback required |
| Thread/step result streaming | Implemented | Chunked streaming available |
| Artifact listing | Not implemented | API returns UNIMPLEMENTED |
| Tool list | Partial | Paging behavior limited |
| Tool register/get | Not implemented | API returns UNIMPLEMENTED |
| Tenant env CRUD/import | Implemented | Values currently exposed by list API |
| Script env overlay CRUD | Implemented | API only; no CLI support |
| Templates list/get | Implemented | Recursive load with policy checks |
| Health check RPC | Implemented | Basic service status/version/uptime |
Compiler + Engine Primitive Status
| Primitive/Construct | Status | Runtime behavior |
|---|---|---|
execute | Implemented | Tool/model invocation with context bindings |
iterate | Implemented | Sequential loop execution |
each | Partial | Parallel path is batch-style; complex bodies degrade to sequential |
decide | Partial | Runtime branch support limited; parser binding accepted but not fully surfaced |
evaluate(check) | Partial | Retry action path not fully implemented |
together | Partial | True parallel only for single-step execute lanes |
wait | Implemented | Duration sleep or condition polling with timeout |
plan | Implemented | LLM-generated script compile/retry loop |
run | Implemented | Executes YAML from bound target content |
ask | Implemented | Pause + pending input contract + resume continuation |
pipe | Partial | Parallel only for single-step execute bodies; otherwise sequential fallback |
repeat | Implemented | Repeat execution with counters/time controls |
send | Partial | Only slack and email channels implemented |
emit / yield | Implemented | Event and yielded value recording supported |
agent | Implemented | Agent-typed execution path available |
API Contract Parity Gaps
| Contract element | Runtime reality |
|---|---|
RegisterTool / GetTool / CancelThread / ListArtifacts RPCs | Declared in proto but unimplemented in API server |
CreateThread.execution_mode | Accepted but not used to select local/cloud path |
CreateThread.timeout | Accepted but not wired into worker timeout enforcement |
CreateThread.callback_url | Accepted but callback dispatch not implemented |
Thread.execution_mode in responses | Currently fixed/mapped to cloud representation |
WatchStep snapshot event mention | Contract includes event type; runtime emits decision/done/failed only |
StepDataChunk.field (input/output) | Runtime currently chunks output field path |
| Env list security note (keys-only) | Runtime returns keys and values |
Mention of StreamYieldedValues in comments | No such RPC in current service |
CLI Coverage Gaps
| Area | Gap |
|---|---|
| Resume thread | No CLI thread resume command |
| Script env overlay | No CLI command mapping for GetScriptEnv/UpdateScriptEnv |
| Templates | No CLI template list/get command group |
| Get script code | No dedicated CLI command for GetScriptCode |
| Config migration | Unified global config is now supported by default; legacy ~/.scriptum config remains fallback without auto-migration |
Operational Readiness Status
| Area | Status | Notes |
|---|---|---|
| gRPC service lifecycle | Implemented | Health/ready/metrics HTTP endpoints on both API and worker |
| Readiness depth | Partial | Readiness is service flag, not full dependency probe |
| IAM defaults in code | Enabled by default | enabled=true, fail_on_init_error=true |
.env.example parity | Drift | Example still reflects disabled/default-lenient values |
| Thread GC | Implemented | Removes expired terminal threads and artifacts |
| Event durability | Partial | Event stream in memory with retention limits |
Current Production Suitability Snapshot
Suitable now for:
- Script authoring and version lifecycle
- Durable thread execution with result streaming
- Ask/resume workflows (API-level)
- Tenant and script env effective merge model
Requires caution/roadmap for:
- API contract methods still unimplemented
- Event completeness in watch streams
- CLI parity for resume/templates/script-env
- Env list sensitive value exposure