Overview
What is an execution engine
Execution engines are sandboxed code runtimes that handle a file type and run it on demand, on a schedule, or in response to changes.
An execution engine (kind: ExecutionEngine) is a sandboxed runtime that runs files. It claims
a file type (for example .py), and when Verentis encounters such a file, the file becomes runnable —
from the workspace UI, from a service, on a schedule, or in response to a file change.
Engines run in a Docker container (server-side, any language) or as a WebAssembly module (client-side in the browser for instant eligible runs). They aren't isolated black boxes: during a run they can read and write VFS files and call platform APIs through scoped tokens and a language SDK.
Anatomy of an engine
A manifest (*.engine.yaml)Declares identity, the runtime(s), which file types it handles, execution modes, tools, resources and sandbox policy. Installing it adds the engine to a workspace.
A runtime image or moduleA Docker image (runtimes.docker.image) and/or a WASM module (runtimes.wasm). This is the code that
actually executes.
A language SDKInside the runtime, your code uses a Verentis SDK (e.g. Python) to access the run context, scoped token, and file read/write.
How a run happens
A run is requested
A user clicks Run on a matching file, a schedule fires, or a trigger matches a file change. Verentis resolves the engine for the file's type.
Verentis prepares a sandbox
It selects a runtime (Docker or WASM), mints a scoped token for the run, and assembles the run context (the target file, workspace, parameters).
Your engine executes
Your code reads its inputs, does its work, and produces output — structured data (stdout/JSON), files written back to the VFS, side-effects, or streamed logs.
Results are collected
Verentis captures the result and logs and returns them to the caller (or stores outputs in the VFS).
Execution modes
Engines can support several modes (declared in spec.execution-modes):
Short-lived runs that return a result.
Longer jobs that stream output (logs) as they run.
Cron-style runs on a schedule.
Triggered by file changes in the workspace.
What's next in this section
Every field in an *.engine.yaml spec.
Server-side Docker and client-side WebAssembly.
Context, tokens, service principals and node boundaries.
The verentis SDK — context, files, HTTP, output and tokens.
Run automatically on cron or file changes.
Test your logic, container and manifest before publishing.
The simplest possible engine, in a few lines of bash — no SDK.