v0.3.2 - open source, AGPL

Your agents keep losing state.
Iranti fixes that.

Iranti gives Claude Code, Codex, SDK clients, and your own agents one durable system of record. Stop re-briefing every tool. Keep shared facts across sessions, recover state after handoffs, and inspect what the system believes when work gets messy.

Built for serious multi-agent workflows: exact retrieval first, deliberate handoffs, bounded recovery, and operator visibility when the happy path breaks. Open beta coming soon.

1
One memory layer across tools
Claude Code, Codex, SDK clients, and operator tooling can all point at the same shared state.
20/20
Process-isolated persistence rerun
The current record supports a real cross-process persistence story, not just same-session memory theater.
14/14
Agent coordination scenarios cleared
Multi-agent handoffs, shared state across independent processes, and mid-task pickup — all tested and passing on v0.3.2.
Evidence

Why teams can trust Iranti.
Because the product story is backed by real proof.

The value proposition is straightforward: Iranti keeps shared facts durable across tools and sessions, gives operators something inspectable, and avoids the usual black-box memory story. The evidence exists to support that claim, not to bury it under jargon.

What this evidence means for buyers
-Shared facts survive process and session boundaries.
-Exact retrieval gives teams a cleaner answer than fuzzy memory alone.
-Upgrade continuity is part of the product story, not an afterthought.
-Claim boundaries are public, so the product does not have to hide behind hype.

The fuller evidence page is there for evaluators who want methodology, claim boundaries, and research links.

Read the evidence
Why Iranti

Context windows and vector search help
until the workflow has to survive handoffs.

The pain point is not "how do I store more embeddings?" It is "how do I stop losing state when work moves between agents, sessions, tools, and operators?" Iranti is built for that second problem.

When Agent A writes a deadline, Agent B should be able to retrieve the exact fact later. When two agents disagree, there should be a visible conflict path. When the tool changes, the memory should still be there. That is the wedge.

Shared source of truth
One agent can write a fact and another can retrieve it later without inheriting the first agent's prompt state.
Infrastructure, not lock-in
Iranti sits under Claude Code, Codex, SDK clients, and frameworks instead of forcing a new agent stack.
Operator-visible by design
Facts, provenance, conflicts, health, and recovery are inspectable when reliability matters more than magic.
Feature
Vector DB
Iranti
Retrieval
Similarity (nearest neighbor)
Identity-first + optional hybrid search
Storage model
Embeddings in vector space
Structured facts with entity + key
Persistence
Stateless between calls
Persistent across sessions
Confidence
None
Per-fact confidence scores
Conflict handling
None
Automatic resolution + escalation
Context injection
None
observe() injects missing facts
Integrations

Keep the tools you already trust.
Unify the memory underneath them.

The selling point is not a flashy plugin. It is one shared memory and recovery layer across Claude Code, Codex, SDK clients, HTTP callers, and operator tooling.

Claude Code
MCP + hooks
Native

Best current path when you want memory to show up before the turn, persist after the response, and stay visible to operators.

$iranti claude-setup
Codex
MCP
Native

Strong for explicit retrieval, durable writes, and cross-tool handoffs once the project is bound to the same memory layer.

$iranti codex-setup
SDK / HTTP
Any agent stack
Validated

The durable path for teams that want memory to outlive one IDE, one framework, or one generation of agent tooling.

$npm install @iranti/sdk
CrewAI / LangChain
Validated pattern
Validated

Best used as frameworks that plug into Iranti rather than memory systems Iranti competes with directly.

$pip install iranti
iranti chat
Operator CLI
Native

Direct inspection, seeding, history checks, and conflict debugging when you need to understand the state underneath the agent experience.

$iranti chat
Browser-tab AI UIs
Not the product
Boundary

Iranti is not positioned as browser injection or extension memory. The right layer is MCP, SDK, HTTP, and runtime hooks.

$Use MCP or SDK instead
Architecture

Why operators can trust it.
Because the moving parts stay visible.

Iranti is not trying to hide its architecture behind magic language. The system is split into bounded components so teams can understand how facts are written, loaded, archived, and disputed. That clarity is part of the product.

writeresolvedescalatedbrief(task)pendingauth_jsonapply
Agent
write(entity, key, value)
Librarian
conflict detection
Library
knowledge_base
Escalation
human review queue
Attendant
per-agent brief
Resolutionist
auth_json output
Archivist
apply + archive
LibraryKnowledge base

PostgreSQL tables. Active truth in knowledge_base. Superseded truth in archive. Relationships in entity_relationships. Identity registry in entities with aliases in entity_aliases.

LibrarianWrite manager

All agent writes go through here. Detects conflicts, resolves them deterministically when possible, and escalates to humans when a disagreement is genuinely ambiguous.

AttendantPer-agent memory

One instance per external agent per process. Manages working memory: what to load at handshake, what to inject per turn, and what brief state to persist between sessions.

ArchivistPeriodic cleanup

Archives expired and low-confidence entries on a schedule. Processes human-resolved conflict files. Never deletes - worst case is a messy archive.

ResolutionistConflict review

Interactive CLI for human conflict review. Reads pending escalation files, guides resolution, and writes AUTHORITATIVE_JSON for the Archivist to apply.

Early Access

Closed beta is running now.
Open beta is on the way.

We're working with a small group of teams building serious multi-agent workflows. If you care about shared state, recovery, and operator control — and want to shape what Iranti looks like before it opens up — reach out.