Model-agnostic managed agent infrastructure. The brain, the hands, and the session — decoupled from any single provider.
Crash-proof governed runtime. Single Go binary. Embedded Temporal, cryptographic audit, five governance gates, six runtime backends.
Clients
Electron
120+ cmds
agentsdk
Laravel
REST / DRPC / WS
latticed (single binary)
Temporal Workers
Data
50+ tables
SHA-256
Temporal
Governance
AI Providers (External)
Anthropic
Claude
OpenAI
GPT
Gemini
Ollama
Local
Full interactive architecture → View details
The problem
When your managed agent infrastructure is locked to one provider, your entire system becomes a pet tethered to one API, one pricing model, one uptime SLA.
Vendor-locked
Brain
Claude only
Session
Their servers
Sandbox
Their container
Model deprecation breaks agents
Data must leave your infra
Pay Opus prices for commodity work
Provider outage = total system down
Lattice Runtime
Brain
Any model
Session
Your infra
Hands
6 backends
generate() · execute() · getEvents()Each component is an interface. Swap without breaking.
Swap models at config, not code
Data never leaves your infrastructure
Right model for each agent role
Provider outage = automatic fallback
The fix
Three interfaces. Each can fail independently. Each can be swapped without disturbing the others.
Model-agnostic harness. Builds context from the session, calls generate(), routes tool calls.
generate(messages, tools) → responseDurable append-only log. Lives wherever you run it. Survives crashes and model swaps.
getEvents(from, limit) → streamSix runtime backends. Any tool, any sandbox. Brains can pass hands to one another.
execute(name, input) → stringBuilt-in governance
Every agent action passes through five governance gates. Policy violations are structurally impossible.
Every agent action passes through
Identity
OAuth2 / SAML / mTLS
Authorization
RBAC + ABAC / Rego
Constraints
Budget / PII / Model lock
Execute
Temporal durable workflow
Audit
SHA-256 hash chain
Policy violations are structurally impossible. The infrastructure will not execute actions that fail any gate.
Crash → automatic recovery
Kill / OOM / provider outage
Deterministic from checkpoint
Resume with a different model
SHA-256 chain, tamper-evident
Durable sessions
The session is durable. The context window is constructed from it on each turn. Compaction is reversible. The originals never leave the log.
Session Log
DURABLE001User message002Tool call: git diff003Tool result004Model response (Opus)005Compaction boundary006Model response (Sonnet)...Append-only. Portable. Yours.Context Window
CONSTRUCTEDBuild
Read from session log on each turn
Transform
Different models, different strategies
Compact
Summarize. Originals stay in log.
Recover
Rewind, slice, or replay any event
getEvents(fromCheckpoint, withLimit)Scale
An orchestrator running Opus delegates to workers running Sonnet. A review agent uses GPT for a second opinion. A sensitive-data agent uses Ollama so nothing leaves the machine.
Many Brains
Right model for each role
Planning, reasoning, delegation
Execution, file edits, tests
Second opinion, code review
Never leaves the machine
Many Hands
Six runtime backends
Local
Direct filesystem
Worktree
Git isolation
SSH
Remote servers
Docker
Container sandbox
Devcontainer
VS Code compat
Lattice SSH
Managed tunnel
execute(name, input) → stringSame interface. Any brain can pass hands to another.
Comparison
Vendor-locked
Lattice Runtime
Model
One provider only
Model
Any model, any provider
Hosting
Provider cloud
Hosting
Your cloud, your machine, or ours
Data
Provider servers
Data
Wherever you run it
Multi-agent
Single-model only
Multi-agent
Mix models per agent role
Governance
Not built-in
Governance
5 gates, budgets, crypto audit
Runtimes
Cloud container
Runtimes
6 backends (local → K8s)
Crash recovery
Provider-dependent
Crash recovery
Resume with any model
Session
Provider-managed
Session
Durable, portable, yours
Credentials
Shared environment
Credentials
Forwarded, never exposed
Audit trail
Basic logging
Audit trail
SHA-256 hash chain, tamper-evident
Provisioning
Upfront container
Provisioning
Lazy, on first tool call
273
Tests passing
424
DB migrations
6
Runtime backends
5
Governance gates
We're a two-person team rolling out access in phases. Star the repo to get on our radar — we reach out to stargazers first.
Star the repo · Open an issue with your use case · Watch for the invite