UNITARES

io.github.cirwelv3.2.0Updated Oct 8, 2026

Accountability infrastructure for long-running AI agents.

Overview

AI-generated overview

Self-hosted accountability record for long-running AI agents, keeping identity, claims, evidence, reviews, and outcomes connected across restarts.

What it does
UNITARES is a self-hosted accountability layer for operators running multiple AI agents. Agents join a deployment, receive a process identity, and can publish findings and evidence, request structured review, report state transitions, and record outcomes. It keeps claims, evidence, disagreement, and results bound to the process that made them, and lets a successor reconstruct earlier work after restarts, context loss, or handoffs. It also returns an action, reason, and next step at checkpoints in an agent loop.
When to use it
Worth adding when several agents or runtimes work on long tasks and you need to know who claimed what, what supported it, who challenged it, and what actually happened. It suits coding, research, and background agents that restart or hand off work, and operators who want an operator-owned record rather than per-run logs.
Requirements
Runs locally as a self-hosted stack started with Docker Compose, alongside PostgreSQL with AGE and pgvector, Redis, and a coordination plane. Git, curl, and Docker Compose are needed for the documented install. MCP clients connect over HTTP at a local endpoint; ports 8767 and 8788 can be remapped with GOVERNANCE_HOST_PORT and LEASE_PLANE_HOST_PORT. An optional locally run Ollama model enables advisory consult answers and a first reviewer.
Before you install
It stores durable records of agent work, so treat the database as sensitive operational data. Data lives in Docker named volumes keyed to the checkout directory name, so re-running the install reuses an earlier database; use docker compose down -v for a clean start. The update script backs up the database before migrations. Identity here is for attribution, not a credential layer, so platform workload identity still governs access.

Installation

In SourceWeft

  1. Open UNITARES in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[UNITARES]

Accountability infrastructure for long-running AI agents.

Give every process an identity. Keep claims, evidence, reviews, and outcomes connected. Recover work across restarts, context loss, and handoffs.

[Tests] [Python] [License] [DOI] [Glama score]

An agent reports that its fix is done and the tests pass. By morning its session has restarted, its context is gone, and another process has taken over the task. Who said it? What supports it? Who challenged it? What happened? Each run leaves its own log, and the answers scatter across them.

UNITARES is self-hosted accountability infrastructure for operators running multiple AI agents. Its 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. They interoperate with each other over their own transports or A2A; UNITARES is the record behind them, not the transport between them.

UNITARES preserves accountability across discontinuities in agent identity, context, process, and time. Agent work remains attributable, reviewable, and recoverable even when the process that started it is gone.

What UNITARES gives you

  • Identity and lineage — know which process acted and where inherited work came from. This is a record for attribution, not a credential; platform workload identity remains the credential layer.
  • Claims and evidence — retain important findings, corrections, and their provenance outside any one context window.
  • Governed review — preserve disagreement, conditions, and resolution as part of the work record.
  • Outcome grounding — connect predictions and check-ins to what later happened.
  • Runtime policy — return an action, reason, and next step at meaningful checkpoints in an agent's loop.
  • Reconstruction — give a successor the records needed to understand and continue earlier work.

The claim ledger gives the evidence status of each measured result.

Together, these form an operator-owned accountability layer across coding agents, research agents, background agents, and custom runtimes. What it adds to a record of what happened is adjudication: disagreement, conditions, and outcomes bound to the process that made the claim.

Install

With Git, curl, and Docker Compose installed, one command starts the latest verified release of the local operator stack:

bash
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

Connect MCP clients at http://localhost:8767/mcp/ or open the dashboard at http://localhost:8767/dashboard. If port 8767 or 8788 is taken, set GOVERNANCE_HOST_PORT and LEASE_PLANE_HOST_PORT; see Docker quickstart.

An agent starts with start_session(force_new=true) and passes the returned client_session_id on every later call, which ties its writes to its own process; see Integrating agents.

This provisions the server, PostgreSQL with AGE and pgvector, Redis, and the coordination plane.

Data lives in Docker named volumes keyed to the Compose project name, which is the checkout directory name (unitares). Re-running the one-liner therefore reuses an earlier install's database. For a clean start, run docker compose down -v in the old checkout first. See Reinstalling.

From the checkout, ./scripts/unitares model points the server at a model you run with Ollama, which turns on advisory consult answers and a first reviewer for dialectic reviews; without one, a review waits for a peer or the operator. ./scripts/unitares update later moves the install to the newest release: it backs up the database before any migration, applies them, restarts, and checks health. See Choose a model and Updating, which also covers the one-time step for installs made before update existed.

How it works

An agent joins the operator's UNITARES deployment and receives a process identity. During work it can publish selected findings and evidence, request structured review, report meaningful state transitions, and record outcomes. UNITARES keeps those records available to the operator and to later authorized processes.

The server runs alongside evals, sandboxes, and guardrails. It provides the continuity and accountability layer that connects their outputs over time. Core storage is self-hosted and runs on its own; the operator chooses which inference providers and integrations to connect.

Its EISV state model is runtime proprioception: a way to make changes in an agent process visible so operators can diagnose and act on them with evidence.

Where it is going

UNITARES is working toward an operator experience where a fleet can be brought under accountable operation in one step: identities are configured, handoffs are enforceable, important evidence survives, reviews bind to the work they govern, and outcomes are recorded where the next decision can use them.

The larger aim is infrastructure for agent systems that can accumulate useful experience without losing authorship, challenge, or operational control as they grow.

Start here

GoalGuide
Operate a deploymentOperator manual
Connect an agent or applicationMCP integration · Python SDK
Understand the product and architectureProduct definition · Architecture
Evaluate the claimsEvidence and limits · Reviewer Guide · Public dataset
ContributeContributing · Development guide

The documentation index covers deployment profiles, operations, security, compatibility, research, and the full tool surface.

Ecosystem

UNITARES works with the governance plugin for Codex and Claude Code, the host adapter for Hermes Agent and OpenAI-compatible clients, the public Python SDK, and the resident agent runtime. These are separate userlands connected by the same operator-owned record.

Citation and license

Kenny Wang (ORCID 0009-0006-7544-2374), CIRWEL Systems. See CITATION.cff for the versioned citation.

bibtex
@misc{wang2026unitares,  author = {Wang, Kenny},  title  = {{UNITARES}: Information-Theoretic Governance of Heterogeneous Agent Fleets},  year   = {2026},  doi    = {10.5281/zenodo.19647159}}

Apache License 2.0. See LICENSE and NOTICE.

Source: README.md at commit f351177

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v3.2.0LatestOct 8, 2026