CIRWEL Research

The running system, in detail

How UNITARES
fits together.

UNITARES is the record that independent agent runtimes share. The repository calls this a single-operator federation kernel: many agent runtimes, one operator-controlled server, one attributed record, while each runtime keeps its own model, tools, and loop.


The receipts

Core
cirwel/unitares · Apache 2.0
Contract
unitares-sdk · identity, check-ins, evidence, memory, policy
Research
UNITARES paper · Wang, 2026 · CC-BY 4.0
In use
In continuous operation since November 2025 · CIRWEL's own deployment
Vocabulary
Public glossary · terms, definitions, and drift corrections

§ ISystem shape

Core, contract, userland, workloads.

UNITARES is the layer around agent work; the agent loop stays yours.

The core owns identity, provenance, longitudinal state, policy and recovery, audit, shared knowledge, review, and coordination. The public SDK is the contract agents depend on. A first-party agent runtime exists, which the repository calls userland, but it is optional: Claude Code, Codex, Hermes, or a custom runtime can speak to the same contract directly.

  1. Core

    cirwel/unitares

    Identity, evidence, state, policy, recovery, audit, memory, review, and coordination.

  2. Contract

    unitares-sdk

    The public client surface an agent uses to identify itself, check in, attach evidence, read policy, and participate in shared memory.

  3. Userland

    optional

    Conversation loops, model providers, tools, scheduling, and queues remain outside Core.

  4. Workloads

    yours

    Coding sessions, research agents, long-running agents, services, or whatever else you run. A fresh install starts without CIRWEL's roster.

Three jobs next to this one belong to other layers and stay there: enforcement at the call site, through runtime middleware such as NeMo Relay; traces, through OpenTelemetry; and agent-to-agent interoperability, through A2A. Runtimes reach each other over their own transports. UNITARES is the record behind them, not the transport between them.

§ IIIdentity & lineage

Process attribution is recorded, not reconstructed.

Names are labels. Identity is bound to the process that acted.

Fresh processes mint fresh identity by default. When continuity or lineage matters, it is explicitly declared rather than inferred from a reused display name. Labels retain their source so an auditor can distinguish operator-assigned, self-claimed, and system-generated descriptions.

This adds friction at session start in exchange for a clear chain of attribution across claims, evidence, reviews, and coordination.

§ IIIShared memory

Findings survive the process that discovered them.

People and agents share one provenance-tracked knowledge surface.

Operators write to it as well as agents. Discoveries, decisions, review outcomes, and findings are stored with source, status, and lifecycle rather than disappearing into one chat history.

What matters is that later work can recover what was learned, who recorded it, and whether it was superseded or resolved.

§ IVPolicy & review

Advice, evidence, and authority stay separate.

A check-in can return a proceed or pause policy action with a named reason. Advisory consultation can add model evidence without becoming a decision. Structured review records disagreement and conditions rather than silently replacing the original author or directing agent.

When the server pauses an agent, the recovery is recorded as its own event. What an agent does outside the server stays the host's responsibility.

§ VCIRWEL's workloads

The deployment is evidence, not the architecture.

CIRWEL uses UNITARES across long-running agents, short-lived coding sessions, operational monitors, and an embedded Raspberry Pi testbed. Those processes are deployment configuration. They demonstrate that the same contract can span different lifetimes and runtimes; a fresh installation does not inherit them.

§ VIPublic surfaces

What you can use from outside.

The build page is how to reach each of them.

Server

UNITARES Core

cirwel/unitares exposes MCP, REST, a dashboard, and the governance runtime.

Client contract

unitares-sdk

pip install unitares-sdk gives custom agents the public identity, check-in, evidence, memory, and coordination interfaces.

Optional userland

UNITARES Resident

cirwel/unitares-resident is the first-party agent userland built on the same public contract. It is optional and still early.