PUBLIC BETA Q4 2026LOCAL, NO ACCOUNTMEASURED, NOT ESTIMATED

Knowledge thatoutlives the code.

An agentic coding harness with an experience store: the debug sessions, failed attempts and domain knowledge nobody writes down, kept locally and calibrated by whether each one actually helped.

ANVAYA MIND · NODE HALF-LIVES

15xa decision outlives an approach

Synthesis693d
Decision347d
Pattern139d
Concept87d
BugFix46d
Approach23d
Half-life per node type (ln2/λ), from the shipped decay constants, not fitted to outcomes. A markdown file has one lifespan for everything it says. How the Mind works
6 typed node types, each decaying on its own curveCalibrated per turn by outcome, not a benchmarkLocal the whole loop runs on your machine0 cloud required on the Ollama path
6typed node typesdecisions, patterns, fixes, syntheses, concepts, approaches
Calibratedper turn by outcomeBeta-Bernoulli posterior, from your usage
347ddecision half-lifearchitecture ages slowly; approaches decay in 23d
Localthe whole loopOllama path, no account or key

The Problem

Agents Start Every Session As A Stranger.

A new engineer joins and spends weeks learning what the repo never states: why auth was built that way, which migration broke prod, the debugging that took all afternoon, the dos and don’ts nobody wrote down. That is what turns a junior into a senior.

Your agent never gets that. A memory layer stores facts you feed it. Nothing captures the experience of working in the project, so every session re-reads, re-learns and re-explains. In one observed Claude Code session, 8.59M tokens were processed at a 97.2% cache-hit rate, with ~90% spent re-reading files and only ~10% on reasoning. Cheaper tokens, not fewer. Anvaya is built to close the gap between a memory layer and an engineer who actually learns.

✕ Other agents
// Session 47, same auth bug class
$ cat src/routes/user.rs src/models/user.rs src/auth.rs
$ cat .claude.md  // 2,400 lines, rotting
→ ~28K tokens spent re-learning what session 12 already taught it
→ no recall of the last time this file broke
0
experience carried across sessions
✓ Anvaya
// Session 47, the graph already knows
$ mind query (MCP / native, 4,096-token budget)
→ ~2-4K tokens of weighted, linked, decaying experience (design budget)
→ the debugging session, the decision, the fix that held, recalled once
// calibrated by which nodes actually helped
6
typed node types, decaying on their own curves

What Your Sessions Actually Cost.

Move the slider to your real number. The comparison is a per-node design estimate; the measured end-to-end lever is −11.0% median uncached tokens (micro-fold, n=5, verification 19/19).

Raw tokens your sessions re-read slide to your reality
50,000 TOKENS / SESSION

One observed Claude Code session processed ~8.59M tokens, ~90% of them spent re-reading files. This is what one decision-packed query costs without memory.

Without Anvaya50,000 tokens
With Anvaya Mind2,000-4,167 tokens
16.2x COMPRESSION, MIDPOINT
◆ AT 8 SESSIONS/DAY, 5 DAYS/WEEK1,877K tokens saved per weekthat’s 2,000,000 tokens/week without memory → 123,360 with memory

// mind query (MCP / native), 4,096-token budget
◆ packed 3,084 tokens 2,000-4,167 range, weighted, linked, decaying
◆ per-node design estimate, file 20x · decision 16x · bug fix 24x · thread 25x; measured e2e lever: micro-fold −11.0% median uncached (n=5)

THE TOKEN FOLD

Compression In Tiers. Promoted By Measurement.

We ran the experiments other tools only summarize: micro-fold measured a real win, meso variants measured losses and were retired, and the macro summarizer was already on. The shipped default is the conservative one, each tier earns promotion with paired data or stays off.

✕ What Every Other Tool Sends
[system prompt]
[entire file read #1]  <- re-sent
[entire file read #2]  <- re-sent
[entire command output]  <- re-sent
[entire diff from turn 3]  <- re-sent
[entire assistant response]  <- re-sent
[your new question]
✓ What Anvaya Sends
[system prompt · cache-stable]
[macro-compacted history after 80%]
[tool result: capped at 30% of window + re-fetch marker]
[experimental: artifact preview + exact chunk ranges]
[your new question]

// macro compaction is on by default
// micro-fold measured −11.0% uncached, promotion gated
01
Micro-Fold

Large tool outputs · experimental

When a tool returns a big result (a file read, a command output, a diff) the full body is written to a disk artifact and a bounded preview plus exact re-read ranges stays in context. Measured in staged validation at −11.0% median uncached tokens with verification 19/19 (n=5); the default remains off until the promotion gate clears.

◆ Measured lever. Default-off pending promotion.
02
Meso-Fold

Cross-round old bodies · retired variants

Folding verified old outputs across rounds was piloted and partly retired: the LRU-budget variant measured +7.8% uncached and the dead-fold variant +24.5%, and WorkingSet placements were withdrawn after ~10× regressions. Folding bodies out of a prompt tempts re-reading, the ledger now counts those recoveries.

◆ Not shipped. Retired on measurement, kept as evidence.
03
Macro-Fold

Default-on · last resort

When the context crosses 80% of the window, a two-stage summarization collapses the oldest history into a conclusion card; at 95%, the oldest bodies are hard-dropped, keeping the last 5 turns. This is the tier that is actually on today, and the one most other tools use as their only strategy.

◆ On by default. Lossy, and budget-gated.
The Context Guard

single tool output: capped at 30% of the window
guard line: 90% of window usage, 5% floor per result
on truncation: keep the head, append an explicit re-fetch marker, never fabricate
on pressure: emit an advisory, never a silent stop directive

Bounded output beats lost output: the model gets structure and a way back, not a wall of scrollback.

Experience That Compounds.

A memory layer stores what you tell it. Anvaya Mind captures what a project teaches you: the debugging session, the decision, the pattern, the dos and don’ts, the domain history the repo never writes down. Every session feeds the graph, six node types each decaying on its own curve, with drift checked against git, so the agent compounds toward seniority instead of restarting cold. The compounding claim (session N+1 costing less and knowing more) is the thesis Phase 6 of the benchmark program exists to measure.

S1
Blank Slate

Mind is empty. Every query requires full file reads, no different from any other AI tool.

S5
Early Memory

First bug fixes and decisions captured as typed nodes. Retrieval starts replacing repeat reads.

S20
Cross-Session Recall

Decisions, patterns and bug fixes accumulate with per-type decay. Causal-thread materialization is implemented but default-off, so this stage is a design target until it is promoted.

S50+
The Compounding Target

The thesis: a solo developer's graph holds the decisions and failed approaches a team would remember. No longitudinal study exists yet: Phase 6 of the benchmark program measures whether session N+1 costs less and knows more than session N.

The Loop That Gets Smarter While You Sleep.

Flat instruction files stay roughly flat across sessions, no decay, no drift check, no outcome loop in their docs. Newer additive memories store facts but don’t calibrate. Anvaya is experience-driven: each session becomes typed nodes, outcomes calibrate which nodes actually helped (a Beta-Bernoulli posterior per node), and the next turn is served only the context that earned its place. Thesis: session N+1 gets better than session N, not because the model updated, but because your project’s memory got better. The loop closes every turn, so the system self-evolves without anyone curating it.

THE LOOPEXPERIENCE · CALIBRATION · COMPOUNDING01 · EXPERIENCEa session happens, fixes, decisions, patterns02 · CAPTUREMind ingests them as typed, weighted nodes03 · CALIBRATEoutcomes score each node, Beta-Bernoulli04 · SERVEnext turn gets only the context that earned it

Context Is What You Read. Experience Is What You Learned.

Most of the industry solves “how to give the model context.” Anvaya solves “how to give the model experience.” The comparison below covers both fronts: what each harness costs as a process on your machine, and how project knowledge is stored, kept honest, and chosen.

Stateless tools (Claude Code, Cursor, Aider, Copilot, OpenCode, Codex CLI)Anvaya, Experience-Driven
Where project knowledge lives
A markdown file written and maintained by hand: CLAUDE.md in Claude Code, .cursorrules in Cursor, a conventions file in Aider. Support varies elsewhere, and none of it records outcomes.
A weighted, decaying graph of six typed nodes (decisions, patterns, bug fixes, syntheses, concepts, approaches) linked by cause and semantic overlap. No file to maintain.
When the code moves on
The file keeps asserting the old thing until a human notices and edits it. Flat instruction files have no drift check of their own.
Content-anchored drift detection measures each node against the current git state and flags what no longer holds. Automatic, continuous, per-node.
What reaches the model every turn
The whole instruction file, every turn, plus whatever files get re-read. In one observed Claude Code session that meant ~8.59M tokens, ~90% re-reading.
A packed context built to a token budget (default 4,096). The 2–4K vs ~50K-raw gap is a per-node design estimate; the measured end-to-end lever is −11.0% median uncached tokens (micro-fold, n=5).
How context compresses
Lossy LLM summarization (Claude Code, Aider) or truncation (Copilot), with no published promotion data.
Context guard caps tool output at 30% of the window with a re-fetch marker; macro summarization fires at 80%/95%. Micro-fold measured −11.0% median uncached; meso variants measured +7.8%/+24.5% and were retired rather than shipped.
How relevance improves over time
Rarely by outcome: the file is as good as the last time someone curated it. Workspace indexes retrieve but don't calibrate on what actually helped.
A Beta-Bernoulli posterior updates per node based on what each turn actually touched. The graph learns what helps, from your usage, not a benchmark.
Session N+1 vs Session 1
No outcome loop: instruction files don't decay, calibrate, or get checked against git.
The compounding thesis: the graph calibrates and decays, so session 50 can draw on institutional memory session 1 lacked. It is a design target: Phase 6 of our benchmark program measures it.
What it costs to run
Per-token billing against a vendor endpoint. API keys required.
No account or key on the Ollama path; Anthropic and OpenAI-compatible endpoints are BYOK when you want them. First TUI frame in ~12 ms (measured 2026-08-14).

Lightweight by measurement

Idle in single-digit MB. Auditable to the page.

macOS rule: footprint is truth, ps RSS misleads: RSS includes mmap’d model pages and excludes compressed pages. So we print both, with method and date. CLI idles near ~5 MB footprint, starts in ~12 ms at ~0% CPU. The graph daemon warms to ~50 MB with the embedding model mapped, bursts on ingest, then settles, all local, all inspectable. Protocol: published measurement notes (2026-08-14) + spot-check 2026-09-05.

StageFootprintps RSSNotes
CLI idle (TUI)~5 MB12–15 MBfootprint 5.1 MB spot-checked 2026-09-05; 4.2 MB in 08-14 protocol
CLI startup~12 msto first frame--version 17 ms; idle CPU ~0%, 13 threads
Mind cold3 → 6 MB7 → 16 MBsocket-only → initialized; re-measured 3.1 MB 2026-09-05
Mind after queries~31 MB~197 MBgap is mmap'd 127 MB ONNX model, not heap
Warm production47–51 MB~10 MB17 h / 2.2 d uptime; RSS understates (compressed pages)
Ingest burst345–360 MB peak374–389 MB100-node ONNX burst, 3× repro; settles ~263 MB; pressure-reclaimed to ~31 MB

Release builds (opt-level 3, LTO, strip). CLI 14–19 MB binary; daemon ~37 MB + 127 MB shared ONNX model (one-time). Live gate tracks process-tree RSS (≤10% or 10 MiB regression budget); full footprint/vmmap series published per benchmark. Full table in /benchmarks#footprint →

Two Tools. One Experience.

Anvaya CLI is the agent that executes. Anvaya Mind is the experience that compounds. Three integration modes, from in-process to MCP, so the experience store works with the agent you already use.

$
Anvaya Harness

A single static Rust binary, no runtime dependencies · 25.6 MB median RSS, 17x lighter than Claude Code · ~5 MB idle, ~12 ms to first TUI frame · 8 TUI screens · 21 native tools · headless mode for CI · 3 transports: Ollama, OpenAI-compatible, Anthropic.

Learn more →
◆
Anvaya Mind

An experience store, not a document · knowledge graph in SQLite with a hand-written HNSW index · 14 MCP tools · causal inference and thread synthesis · drift detection against git and per-type decay · captures debugging sessions, domain knowledge and project history.

Learn more →
Direct · <0.5msMind runs in-process inside the CLI. The fastest path, used when anv owns the session and no other client needs the graph.
IPC · ~2msJSON-RPC over a Unix domain socket to the daemon. Multiple clients share one graph, with the daemon as the single writer.
MCP · ~10msThe daemon behind an MCP server. This is how Claude Code and other MCP clients reach the same memory.

The System

Light Harness. Dense Fleet. One Local Machine.

One harness, one experience daemon, three transports, everything inspectable. The CLI is light enough to run by the hundred, the supervisor keeps them bounded, and Mind learns from every one of them, all on hardware you already own.

CLIENTS, YOUR TOOL, WHATEVER IT ISCLAUDE CODEMCP · stdioANV CLIIPC · unix socketYOUR IDEIPC · unix socketANVAYA MIND, THE DAEMONmemory daemonJSON-RPC 2.0 · ~44 methods · 9 background workers · exclusive flockPERSISTENCE, ALL LOCAL, ALL INSPECTABLESQLITEnodes · links · FTSHNSWint8-quantized vectorsTEMPORAL LOGappend-only · crc32

The Deal

An Agent You Can Audit.

A harness that runs hundreds of agents on your machine has to earn trust on the mechanism, not the marketing. Here is exactly what stays local, what leaves, and what you can inspect.

◉Your code never leaves your machineMind reads and stores everything under .anvaya/mind/ inside your project. No accounts, no cloud sync, no code in anyone else's hands. The daemon holds an exclusive flock, one writer, always local.
◆What leaves is your choiceWith Ollama, nothing leaves, the whole loop runs on your hardware. The Anthropic, OpenAI, and Siemens providers only exist if you configure a key and opt in. No key, no egress.
✦Everything is inspectableThe graph is files: SQLite in WAL mode, a flat HNSW index, an append-only temporal log, plain-text config. Open the directory, read any node, delete anything. No black boxes.
Default: Ollama, fully localRemote providers (opt-in)
Model inference
On your machine. Embeddings and summarization included. Nothing is transmitted.
Only when you add an API key for Anthropic, OpenAI, or Siemens. No key, no connection.
Memory storage
.anvaya/mind/, SQLite, HNSW index, temporal log. Project-local, gitignored.
Never. The graph is always local even when a remote model is in use.
Telemetry
No code content, no prompts, no metrics about your sessions. The daemon keeps no analytics.
Anvaya Mind has no telemetry channel today. If it ever does, it will be documented here first.

Three Layers That Are Hard To Bolt On Later.

◆
Layer 1 · Measured Weight

25.6 MB median harness RSS across 238 Phase 1 runs, 21 MB floor, ~5 MB idle. Claude Code idles at 432 MB. That is a 17x gap, and it is the reason everything else on this page is possible: a harness this light is one you can run by the hundred.

◆ 25.6 MB median, Phase 1 measured
◉
Layer 2 · Local Agent Density

Because each agent is cheap, a fleet fits on your machine. 24 agents run concurrently by default with a 256-agent hard cap, a 32-agent soak cost 103 MB total, and 25 sessions ran in parallel on a Core 2 Duo with 4 GB of RAM. Cloud swarm tools spin up agents remotely; this one does not.

◆ 24 default, 256 hard cap, all local
⚡
Layer 3 · Experience, Not Just Memory

A memory layer stores facts. Mind simulates the lifecycle of an engineer learning a project: debugging sessions, decisions, dos and don'ts, domain knowledge, project history. Outcomes calibrate which nodes actually helped, and drift detection keeps the graph honest as the code moves.

◆ 6 node types, calibrated per turn

Run Agents That Fit On Your Laptop.

25.6 MB median RSS. 25 agents ran in parallel on a Core 2 Duo with 4 GB RAM. Hundreds on your machine. Zero cloud required on the Ollama path.

Requires Rust/cargo to build from source. Linux and macOS today, Windows not yet supported. Pre-1.0, public beta. Pricing TBD.