The lattice does
the routing.
Every other agentic framework puts a scheduler at the center: "now run agent B." Axocoatl puts a coordination fabric at the center and lets the agents decide for themselves when they're ready. Here's what that means.
A bulletin board for events.
Agents publish events when they finish work — or fail, or get interrupted. Every other agent watches for events it cares about. When an agent's threshold is crossed (usually one event from each dependency), it wakes up and runs.
There's no orchestrator deciding the order. The order is whatever the dependency graph implies. The lattice is what makes the ordering work.
Supervised, checkpointed, budgeted.
Each agent is a ractor actor: an isolated unit of computation with its own mailbox, memory tier, token budget, and supervised lifecycle. Crashes get restarted from the last checkpoint. State survives the process.
Agents talk to LLMs through a provider trait. Ollama, OpenAI, Anthropic, Mistral, Gemini, OpenRouter — all swappable per agent. Local model for one agent, frontier model for another, same workflow.
Capabilities that route themselves.
A Skill declares the events it emits and the events it reacts to. The lattice wires it automatically: any agent that holds the right Skill can be the one that fires when the matching event lands. Two agents hold the same Skill? An auction picks the best fit.
You don't wire Skills to agents. You declare what each Skill listens for, and the lattice does the routing.
Build with your agents.
A Session is an agent — or a lattice of agents — running in a single directory. The session sandbox is a container (podman) bind-mounted to your folder. The agent reads, writes, and runs commands inside. You see every action stream into the dashboard.
Close the laptop. Open it tomorrow. The session is still there. Hot-restart from the last checkpoint. The agent picks up where it left off.
Hot to cold, local to neural.
Four tiers: session (in-process), checkpoint (durable snapshot), long-term (key/value), and a neural Tier 4 backed by an embedded BERT model running through Candle — pure Rust, no ONNX, no C++ runtime. Agents retrieve from whichever tier matches the query's locality.
All four tiers are local-first. None call out unless you tell them to.
Read the full docs.
Every concept above has a full reference in the docs, with embedded code and a live lattice demo on the page.