Salix
Salix
Salix is Comma's agent harness: the distributed, multi-tenant runtime that runs every Comma agent. It is written in Elixir and Lean.
Many agents, few resources
A traditional agent gets its own sandbox: a container or VM that stays on while the agent works. Salix runs hundreds of agents on the CPU and memory that one such sandbox uses.
Salix places each agent on a node in the cluster, and moves agents between nodes when the cluster changes. It delivers messages from one agent to another across nodes. A cluster can have hundreds of nodes.
The agent runs outside the sandbox
Most of the work an agent does needs no computer: it reads, plans, writes and calls your connected apps. Salix runs that work in the harness itself, not in a sandbox.
When the agent needs a computer, Salix wakes a cloud VM for it. The VM keeps its storage between uses, so files and installed tools stay where the agent left them. When the work is done, the VM can sleep again.
Built in Elixir and Lean
Salix runs on Elixir and the Erlang VM. Each agent is its own lightweight process. When one part of the system fails, it restarts, and the other agents keep running.
The core of the agent loop is written in Lean. Its control decisions, such as what happens next in a turn and where your data is allowed to flow, run as Lean code with machine-checked proofs.
Loops run on Spinfoam, whose JIT compiler is formally verified to generate memory-safe code.
Always on, without an always-on sandbox
An agent can keep watch over your data 24/7 with a Loop. A Loop is a small program that runs on the cluster. It wakes the agent only when something needs it, so a quiet hour costs no model tokens.
Your machines and your runtimes
You can attach a Linux or macOS machine to Salix, and agents run commands and open files on it. Comma uses this to work on your Mac.
Salix has its own agent loop. An agent can also use an external agent runtime, such as Codex or Claude Code, on a device you choose.
In this section
- Loops: always-on background work, compiled to eBPF.
- Devices: attaching your own machines.
- Agent runtimes: the built-in agent loop, Codex and Claude Code.