The runtime for agentic systems.One binary. Self-hosted.
A production backend you (or your agent) compose from typed Lua and shared modules.
The whole stack, built in.
Browse the Hub → Shared modules and apps you compose from.
A flow is just a function.
Typed Lua, resolved by name.
The same flow runs on one node or across the cluster, and steps can be durable.
Types catch mistakes early; errors come back as values you handle.
local funcs = require("funcs") -- flow: read → chunk → index local function ingest(path: string): (table, error?) local text, err = funcs.call("storage:read", path) if err then return nil, err end local chunks = funcs.call("rag:chunk", text) return funcs.call("rag:index", chunks) end
Run it as a cluster.
Address a process by name; the runtime routes it.
One node or many, the same code.
Gossip tracks membership with no coordinator, and a bounded Raft core agrees on the few names that need one source of truth.
Built to hold together.
No shared state
A change here can't break code elsewhere.
One kind of entry
Config, code, and data in one versioned store.
Least privilege
Each part gets only the access you grant it.
Reversible by design
Change it while it runs; roll back in a call.
A solid place to run agents.
Point Claude Code or Codex at it. It edits the running app live.
It works against a scoped surface: sandboxed eval, typed Lua, and every change reversible.
Your control plane.



Start from a working app.
Clone it, run the binary, scale out when you need to.