CIRWEL Research

UNITARES

Many agents,
one record.

Your AI agents share one record of what they did, what they claimed, who challenged it, and how it turned out.

Logs show each run. The record keeps the thread between them, so whoever picks up next can find where the last one left off.

Open source
Apache 2.0
Self-hosted
on your own infrastructure
Works with
Claude Code, Codex, Hermes Agent, any MCP client
In use
since November 2025 · CIRWEL's long-running development environment

One record, start to finish

  1. Claim · a coding agent's fix

    A new agent's automatic pause can be lifted whenever the pause is labelled a risk stop.

  2. Challenge · structured review

    Rejected. The label names only the first stop the code found, so it cannot show that no other stop fired at the same moment.

  3. Outcome · 22 August 2026

    The fix was rebuilt to lift a pause only when the full record proves risk was the only stop. A second review agreed, and it merged the same day.

One case from the record UNITARES keeps of its own development. See the original.

What the record answers

A coding session restarts. An agent loses its context. A task moves to another process. Logs show each run, but not the thread that connects them.

Who said it?

Each write is tied to the process that made it.

Identity & lineage

What supports it?

Findings and corrections are kept, with their sources.

Shared memory

Who challenged it?

Reviews and disagreements stay on the record.

Policy & review

What happened?

Test results are recorded against the check-in that predicted them.

The loop

What can a successor recover?

Findings, reviews, and outcomes, by search.

Architecture

It runs beside evals, guardrails, and sandboxes and replaces none of them.

Install

Apple Silicon Mac · Homebrew preview

brew update
brew tap cirwel/unitares
brew trust cirwel/unitares
brew install cirwel/unitares/unitares
brew pin unitares unitares-lease-plane

Installs the native server and its dependencies. Then follow the database setup and startup steps. Models, including Ollama, are optional.

Docker Compose

$v=$(curl -fsSL https://raw.githubusercontent.com/cirwel/unitares/master/PUBLISHED_VERSION) && git clone --branch "v$v" --depth 1 https://github.com/cirwel/unitares.git && cd unitares && docker compose up -d --wait

Starts the server and its databases locally with Docker. Choose one installation per machine. Setup and installation options · How it fits together · Research · [email protected]

In precise terms

UNITARES is self-hosted accountability infrastructure for operators running multiple AI agents. The UNITARES single-operator federation kernel connects independent runtimes to one operator-controlled server over MCP or HTTP, where they share a durable record while keeping their own models, tools, and runtimes. Across Claude Code, Codex, Hermes Agent, and custom MCP or REST clients, agent work remains attributable, reviewable, and recoverable even when the process that started it is gone.

By Kenny Wang, Independent Researcher · ORCID 0009-0006-7544-2374 · Paper