DOMINION is my Apache-2.0 open-source, local-first AI agent workspace. The idea is to connect models you already use to a workspace that can execute tools, retain context, coordinate agents, and show what actually happened.
This post explains the current architecture and its boundaries. It is an active developer preview, and the source is public: https://github.com/hushmind3/dominion-rust
The model is one part of the system
A model proposes an action. The runtime still has to execute it, apply permissions, store the result, handle interruption, and decide what evidence supports completion.
DOMINION separates those responsibilities:
React interface | Rust HTTP API (Axum) | Native Rust agent loop ---- user-configured cloud or local model | Tools, approvals, workflow jobs, and SQLite state The agent runtime is Rust. Node.js builds the React frontend rather than hosting the execution loop. Local inference integrations include llama.cpp/GGUF and Ollama; a macOS MLX path uses LM Studio. Integrations may still require their own runtime processes.
A task needs durable state
A chat transcript alone cannot tell you whether a shell command finished, whether an approval was granted, or whether an interrupted operation is safe to repeat.
DOMINION stores jobs and execution operations in SQLite, alongside messages and memory. The implementation includes cancellation and recovery checkpoints. Where the result of an external side effect is uncertain, recovery should not turn uncertainty into an automatic repeat.
The practical benefit is inspectability: you can look at the tool call, arguments, result, and job status instead of relying solely on the model saying “done.” The source paths include src/engine/jobs.rs and src/engine/tools.rs.
Shared rooms need shared context
Multi-agent chat introduces another state problem: participants can appear to be in one conversation while receiving different fragments of it.
DOMINION has a common room conversation, separate participant roles and model choices, and discussion, round-robin, and mention-driven modes. Memory has visibility boundaries and source references; superseded corrections should not silently become current facts again.
These mechanisms are implemented, but their presence does not establish perfect recall or cheap long-running conversations. Coherent room context and context cost remain areas where real-model feedback is especially useful. A Rust runtime does not make model inference free.
Source improvement needs a separate acceptance step
The experimental RSI path can propose source changes inside an isolated Git worktree, run candidate evaluation, and rebuild accepted implementations for later generations.
That gives the system an executable source-improvement path. It does not establish general recursive intelligence gains. Model-written claims, successful tool calls, passing protocol tests, and improved results on independent tasks are different kinds of evidence.
The project documents these distinctions in docs/RSI-MAIN-INTEGRATION-2026-11-12.md. Git worktrees isolate source changes; they are not an OS or network security sandbox. This is system-level research, not model-weight training.
Trying the workspace
The repository includes screenshots, a source-build quick start, Rust unit/integration tests, and public CI. There is currently no prebuilt release download to assume is ready. You'll need the documented Rust, Node.js, and OS build prerequisites.
The same workspace includes MCP integrations and video workflows. Generative video uses a configured backend such as ComfyUI, with its own models and hardware requirements. Cloud-model usage is billed by your provider; local inference uses your hardware.
A useful first trial is small: connect a model, ask it to complete a bounded file task, and inspect the resulting execution record. If you try shared rooms, check whether participants can accurately refer to the same earlier message.
I would welcome reproducible setup and model-compatibility reports, especially anything that makes the first-run experience confusing. Please leave credentials and private conversations out of reports.
Disclosure: This article was drafted with AI assistance from the public repository and implementation documentation. The project is a developer preview; no fixed token savings or general intelligence improvement is claimed.
