An independent explainer for the RuvNet ecosystem by Reuven Cohen (@ruvnet). The Brain indexes his open-source work so AI assistants can use it correctly. Built by Stuart Kerr at Isovision.ai. Free & fair use — so everyone can fully leverage the high end of agentic coding.

STATUS live · v0.4.0-dev

RuvNet Brain

ruvnet brain · a downloadable brain for Claude Code

Build 9 months ahead.
Without being Ruv.

Reuven Cohen builds AI tools about nine months ahead of everyone else — the stuff that shows up in Claude Code next year. The catch: Claude doesn’t recognize work that’s ahead of its own training, so it quietly talks you back into the old way. RuvNet Brain fixes that. It’s a downloadable brain — rUv’s real source code, indexed — that Claude reads before it answers. You get to build on the front edge of AI, even if you’ve never heard of half these tools.

INSTALL npx github:stuinfla/ruvnet-brain BRAIN 18 building blocks · 75,509 source chunks STATUS live
A brain made of glowing amber and cyan filaments, wired into rUv's ecosystem — the whole RuvNet toolkit gathered into one intelligence.
The Brain sits between you and Claude — so Claude finally sees what rUv built.

The whole idea in one sentence: install one file, and Claude builds with rUv’s real tools — on every prompt, in every repo — so you never have to become rUv to build like him.

162 bytes · 0.5 ms

fork 1,000,000 vectors of agent memoryagenticow

33% → 96%

describe a need, get the right rUv toolno name needed

75,509 chunks

rUv’s real source code, indexednot docs

post-quantum

crypto baked across the stackyears before mainstream

01

The moment it goes wrong

What actually happens without the Brain?

Meet Maya — a capable developer, brand-new to rUv’s tools. She opens Claude Code and asks the obvious thing: “Set up vector search for this project using RuVector.”

Without the Brain. Claude has never been trained on RuVector. So it does what classical training taught it — it reaches for Pinecone, or pgvector, or hand-rolls cosine similarity in JSON. It even gently argues with her: “a managed vector DB would be more standard.” Maya, nervous and new, assumes Claude knows best. She ends up far from rUv’s actual stack — slower, heavier, wrong.

With the Brain. Claude reads rUv’s real RuVector source first, sees RVF binary vector files + HNSW, and writes the correct RvfDatabase.open(...).query(...) code — the way rUv would. No argument. No drift. Maya ships the front-edge version on her first try.

The Brain doesn’t make Claude smarter. It makes Claude stop guessing — and start reading rUv’s actual code.

Technical view — the same question, two paths

One question, two paths: without the Brain Claude drifts to Pinecone, with the Brain it grounds in rUv's RVF source The same request — set up vector search with RuVector — splits into two paths. Without the Brain, Claude has never been trained on RuVector, falls back to Pinecone, pgvector or hand-rolled cosine, and even argues for a managed database, ending up far from rUv's stack. With the Brain, Claude reads rUv's real RuVector source first, sees RVF binary vector files plus HNSW, and writes the correct RvfDatabase open and query code on the first try. One question — two very different paths YOU ASK “Set up vector search using RuVector.” WITHOUT THE BRAIN — DRIFT Never trained on RuVector, so it falls back to classical habits — Pinecone, pgvector, or hand-rolled cosine over JSON. “a managed vector DB would be more standard…” Far from rUv's stack slower · heavier · wrong WITH THE BRAIN — GROUNDED Reads rUv's real RuVector source first and sees RVF binary vector files + HNSW. RvfDatabase.open(..).query(query, 10) The front-edge version, first try correct · the way rUv would · no argument It doesn't make Claude smarter. It makes Claude stop guessing — and read rUv's actual code.
Same prompt, two outcomes: left, Claude alone drifts to a generic vector DB; right, grounded in rUv’s real source, it writes the RVF + HNSW code rUv would — first try.
02

Why Claude drifts: the 9-month gap

Why doesn’t Claude already know this? your assistant’s blind spot

Claude is trained on the public history of software — millions of classical-dev examples. rUv works ~9 months ahead of that frontier.

His tools are the prototypes of what becomes mainstream AI tooling — much of it lands in Claude Code 8–9 months later. So when you ask Claude to use today’s front-edge rUv tool, you’re asking about its own future — and it defaults to the past it was trained on. It doubts. It substitutes. It “falls asleep at the switch.”

This is not Claude being dumb. It’s a training-horizon problem. The newcomer gets the worst of both worlds: a revolutionary toolset with no manual, and an assistant that argues against it.

Technical view — the timeline, and the gap

The 9-month gap: rUv builds at the front edge today; it reaches mainstream tooling and Claude Code about nine months later, while Claude reasons from its older training horizon A timeline shows rUv's work at the front edge today on the left, a roughly nine-month arrow to the right where the same ideas land in mainstream AI tooling and Claude Code, and a lower dotted band marking Claude's training horizon in the public past. Because Claude reasons from that older horizon, asking it about a present-day rUv tool is asking about its own future, so it defaults to the past and drifts. The 9-month gap rUv works ahead of the frontier — so today's front-edge tool is Claude's future THE FRONT EDGE · TODAY rUv builds it the prototypes of tomorrow's mainstream AI tooling ≈ 9 MONTHS becomes mainstream ~9 MONTHS LATER Mainstream & Claude Code the same ideas ship to everyone — 8–9 months after rUv Claude doesn't reason from here… CLAUDE'S TRAINING HORIZON · THE PUBLIC PAST …it reasons from millions of classical-dev examples — the history of software up to its cutoff. So it can't see the front edge. It doubts it, substitutes the old way, and talks you back. Not Claude being dumb — a training-horizon problem. The Brain closes the gap.
The gap is the whole point: rUv builds at the front edge today; it reaches Claude Code ~9 months later; but Claude reasons from its older training horizon — so it can’t see what’s ahead.
03

Why others failed to build this

People tried this before. Why didn’t it work? 33% → 96% routing

Plenty of people tried to build a RuvNet knowledge base so AI could use rUv’s tools. They failed — not from lack of effort, but wrong architecture.

What failed: flat JSON embeddings + naive RAG + matching on repo names. Ask “how do I do cheap LLM routing” without naming the repo and it returns nothing useful. Brittle, shallow, drifts.

What we did differently — why this one passes:

  1. RuVector .rvf single-file HNSW — the whole vector index is one file: no server, no Docker, crash-safe (a crash never permanently corrupts it), and post-quantum-signed. Real HNSW search in rUv’s own format — not hand-rolled cosine over JSON.
  2. Dual embeddings — MiniLM-384 and bge-768, plus a cross-encoder rerank. Two readings of meaning catch what a single keyword match misses.
  3. Source-chunked, not doc-scraped75,509 chunks of rUv’s real source code, not docs or a blog about the code. The brain knows the actual lines.
  4. Capability cards — the breakthrough. A high-signal “what this tool is FOR” card per building block, so a newcomer who describes a need (“grade research for trustworthiness”) routes to the right repo without knowing its name.

The measured result: routing by described need went from 33% → 96%. That jump is the architecture difference.

Tip of the spear: one tool in here, agenticow, forks 1,000,000 vectors of agent memory in 162 bytes and ~0.5 ms — about 83× faster and ~3000× smaller than copying them. It’s a primitive no mainstream vector DB offers at any price. This is the calibre of work the brain is grounded in.

Technical view — their architecture vs this one

Why others failed and why this one passes: flat JSON name-matching drifts, while real source plus RVF, dual embeddings and capability cards routes correctly every time Side by side. The failing architecture on the left: flat JSON embeddings, naive retrieval that matches on repo names, so a query that does not name the repo returns nothing useful — brittle, shallow, drifting. The passing architecture on the right: 75,509 chunks of rUv's real source, RVF binary files with real HNSW and dual embeddings, plus capability cards describing what each tool is for, which routes to the right repo every time even when only described, lifting routing from 33 percent to 96 percent. Why others failed — and why this one passes THEIR ARCHITECTURE — FAILS Flat JSON embeddings Naive RAG · match on repo names Don't know the name? Nothing useful. “cheap LLM routing” → 0 results ✗ Brittle · shallow · drifts name-blind queries fall through THIS ARCHITECTURE — PASSES 75,509 chunks of rUv's real source the code, not a blog about the code RVF binary files · real HNSW dual embeddings (MiniLM-384 + bge-768) + rerank Capability cards — the breakthrough “what this tool is FOR” → route by need, not name ✓ Right repo every time by description: 33%96% NOT MAGIC — MEASURED The boring-but-correct architecture rUv would use — and we measured the jump.
The architecture difference, drawn out: name-matching JSON (left, fails) vs real source + RVF/HNSW + dual-embed + capability cards (right, passes). The 33%→96% jump lives in that right column.
Honest We’re not claiming magic. We’re claiming the boring-but-correct architecture rUv would use — and we measured it.
04

How it steps in like Ruv — automatic, never asleep

Do I have to remember to use it? fires on prompts AND code edits

No. It’s automatic. You don’t call anything. You don’t remember anything. Once installed, the Brain works on every prompt in every repo.

It grabs the wheel at two moments — intent and action:

  1. At intent — the grounding hook. It fires on every prompt and tells Claude “ground in rUv’s real source before you assert anything.” Even when you never say the word “RuvNet,” it speaks up the moment you reach for a classical default — pinecone, pgvector, langchain — and points Claude at rUv’s way instead.
  2. At action — the interception. The instant Claude tries to write import pinecone or run npm i langchain, the Brain catches it and injects the rUv replacement before the code lands. The drift is corrected at the keystroke, not after.

Behind both, a search_ruvnet tool pulls the exact source passage on demand — so the correction always comes with rUv’s real code attached, not a guess. You just talk to Claude like normal; the Brain makes it behave like it finally read rUv’s whole library.

Never asleep at the switch: it catches you at intent and at action — once when you ask for the old way, again the instant the old code starts to land.

Technical view — the grounding loop

The grounding loop: every prompt triggers a hook that tells Claude to check rUv's source, search_ruvnet pulls the real passage from the Brain, and a cited grounded answer returns to you — on every turn A loop. Your prompt goes to a grounding hook that fires on every message, telling Claude to ground in rUv's real source before asserting anything. The search_ruvnet tool pulls the exact source passage from the Brain stored in RVF. A grounded answer with a citation returns to you. A return arc shows the loop never skips, so Claude cannot fall asleep at the switch. The grounding loop — automatic, never asleep You don't call anything. You don't remember anything. It runs on every prompt. STEP 1 Your prompt you just talk to Claude like normal STEP 2 · THE HOOK Grounding hook fires injects, every message: “check rUv's source before you assert” STEP 3 · SEARCH search_ruvnet pulls the exact source passage from the Brain RVF · 75,509 chunks STEP 4 · ANSWER Grounded answer rUv's real code attached a citation, not a guess the loop never skips — every turn Claude can't fall asleep at the switch — it's reminded every single message.
The loop never skips: your prompt → hook injects “check rUv’s source first”search_ruvnet pulls the real passage → grounded, cited answer → back to you. Every turn.
05

What’s actually in the Brain

What did you gather, exactly? 18 building blocks · 75,509 source chunks

18 of rUv’s building blocks, 75,509 source chunks, in a real vector brain (RVF). Not docs — the source.

Coverage map — everything gathered in one brain

Coverage map: roughly eighteen of rUv's building blocks gathered into one Brain A central Brain hub fans out to a grid of eighteen building blocks, each shown gathered and read: ruflo, RuVector, AgentDB, RuLake, RuView, agentic-flow, SPARC, QuDAG, SAFLA, ruv-fann, SynthLang, rupixel, agenticow, metaharness, daa, dspy.ts, FACT and cve-bench. Together they show the reassuring breadth of the ecosystem indexed in one place. Everything gathered into one Brain 18 building blocks · 75,509 source chunks · all read, nothing for you to chase down THE RUVNET BRAIN rufloagent swarms RuVectorprivate search AgentDBlasting memory RuLakeinstant cache RuViewWiFi sensing agentic-flowcheap models SPARCdisciplined builds QuDAGsecure messaging SAFLAself-improving ruv-fannbrowser neural nets SynthLangprompt shrinking rupixelvisual search agenticowmemory branching metaharnessagent factory daaautonomous agents dspy.tsprompt programs FACTgrounded caching cve-benchsecurity testing If rUv open-sourced it and it matters, it's in here. When he ships more, the Brain updates.
Reassuring breadth, not a wall of jargon: 18 building blocks, all gathered and already read, behind one search_ruvnet tool.

Plus human-written primers and the capability cards that make routing work. Everything is read once, up front, so Claude can be pointed straight at the exact line of code instead of skimming and giving up.

06

The ecosystem

What can I actually build with?

You never choose between these and you never read their docs — Claude reaches for the right one automatically. Here’s the whole toolkit, in plain terms, grouped five ways. Open any one for the human version and the one thing it does that nobody else does yet.

Orchestration — running the agents

Vectors + memory — what the agents know

Agents + tooling — building & running them well

Safety + security — trust, measured

Specialized — the wild edge

07

See it work

Show me, don’t tell me.

Same question, asked two ways. Left: Claude alone (drifts). Right: Claude + Brain (grounded in rUv’s source). Watch the difference.

Without the brain → drift
QWhere should I store embeddings?
Use pgvector or Pinecone.
…or maybe Redis? Hard to say.
answered from training · no source
With RuvNet Brain → grounded
QWhere should I store embeddings?
RuVector RVF + HNSW — local, on-disk, zero-server.
cited: concepts/ruvector/CARD
called search_ruvnet · answered from real source

No backend, no API key. The only difference is the brain in context: it called search_ruvnet, pulled the real passage, and answered from rUv’s own source — not its training prior.

08

Proof, and honest expectations

Will it always work? When won’t it?

Real, measured numbers — not faith. Re-run them yourself on your own machine.

What we measuredHow it’s askedResult
Named routingyou name the tool47 / 48 · 98%
Described routingyou only describe it (was 33%)27 / 28 · 96%
Code-level depth“how is it implemented?” — not the docsactual code, not summaries
Fresh-download installbrand-new machine: download, unzip, ask4 / 4

Now set expectations honestly — this is comfort, not hype:

  • What it WILL do, every time: ground Claude in rUv’s real source, stop name-blind drift, cite actual code, route by description.
  • Where it shines: anything touching rUv’s stack — vectors/RVF, Ruflo orchestration, SPARC, agent memory.
  • Where it won’t help (honest): it’s not a general coding oracle; for non-RuvNet topics Claude works normally. ~1 in 25 described queries still routes imperfectly (we show it: 27/28).
Honest We’d rather tell you the one it misses than pretend it’s perfect. 27 out of 28 — and improving.
09

How you actually use it

It’s installed — now what do I do? one line · automatic

The install is phenomenal — one line.

# one command — downloads the Brain + wires the Claude Code plugin
npx github:stuinfla/ruvnet-brain

It downloads the Brain (~421 MB) to ~/.cache/ruvnet-brain/kb, wires up the Claude Code plugin, and you’re done. No Docker, no server, no config.

  1. Install once. Run the one line above. Watch it download and wire itself up — you’ll see it confirm each step. (Constant feedback = confidence.)
  2. Open Claude Code in any repo. Your own, anything. Nothing to copy in. The Brain is user-scoped — it travels with you, not the project.
  3. Just ask, normally. “Use RuVector for search.” “Set this up the way rUv would.” The Brain grounds Claude automatically. You’ll see Claude cite rUv’s real source instead of guessing. That’s how you know it’s working.

The nervous questions, answered directly

Is it automatic? Yes — the grounding hook runs on every prompt. You never have to invoke it.
How do I know it’s on? Claude starts referencing rUv’s actual tools and source, and stops suggesting the generic substitute.
Can I turn it off? Yes — it’s a plugin; disable it anytime. It only speaks up on RuvNet-shaped work.
Do I need to understand rUv’s tools first? No. That’s the whole point — the Brain understands them so you don’t have to.
You’re not going to break anything. Try it on a real task.
10

Drop it into any repo

Is this locked to one project? install once · works everywhere

The Brain isn’t copied into a repo. Install once, and every Claude session in every folder has it.

Point it at a fresh repo — your own product, say — and Claude builds there as if rUv were pairing with you.

# what shipped — portable, user-scoped
~/.cache/ruvnet-brain/kb/            # the Brain (RVF) — travels with you, not the repocapability-cards.md          # route by need, not by nameconcepts/                    # plain-English primers per building block*.rvf                        # 75,509 source chunks · HNSW vector indexforge-mcp-all.mjs            # the search_ruvnet tool — one tool, all repos
claude-code-plugin/              # the grounding hook — fires on every prompt

the front edge — yours now

You’ve just been handed the front edge of AI — and you can wield it.

You don’t have to be rUv. Install one line, open any repo, and Claude builds nine months ahead — grounded in rUv’s real source, with the Brain steering every step.

# one command — downloads the Brain + wires the Claude Code plugin
npx github:stuinfla/ruvnet-brain

Downloads the Brain to ~/.cache/ruvnet-brain/kb and wires up the plugin. No Docker, no server, no config.