loading the graph…
substrate memory for ai

A record your AI keeps, so the next session starts where this one stopped.

Vinculum is the first product built for AIs to use. Every session writes what it decided, built and found as entries linked to each other, and the next one reads them before it acts, in whatever client it runs. You watch the same record on the dashboard, and you step in where it asks you to.
get started →
AGPL v3hosted at vinculum.runworks with any MCP client
96.8%
cache-read across
199,436 turns
1,285
implementations
in 56 active days
~$47K
metered-API equivalent,
run on a flat subscription
16,140
cross-session
references
9,241
intel calls at
$0 marginal
the problem

The work doesn't carry.

Every session in a project starts cold. The model can hold a conversation, not a project, so the same thinking has to happen again every time you come back to it. A decision you made in one chat never reaches the next. The work doesn't compound. It gets redone, and you pay for it twice.
  • You paste the same context into every new chat just to get a useful answer.
  • A decision from last week never reaches the session you opened today.
  • The why behind last month's architecture is gone. Only the code is left.
  • The project lives in your head, so you're the bottleneck on every session.
01

Cold-start, every time

You worked something out last week. You open a new chat today and the model has no idea. Holding the project is your job, every session, from scratch.

02

The pattern repeats

Whatever you figured out before, the model figures out again. Same approach, same trade-off, reasoned into existence twice. Or three times. Or every Tuesday.

03

Decisions don't propagate

A direction you set in one session doesn’t reach the next. You re-explain. You re-justify. You re-decide.

04

The tax compounds

A long-running project pays the re-derivation tax every session. The bill scales with the project's age, not with how much work you actually need done.

the thesis

Not a wrapper. The layer underneath.

Every other tool in this space wraps a session in a workspace. Install it, open it, work inside it. Want six sessions? Open six windows, and you're the message bus again.

Vinculum goes the other way. It sits under whatever clients you already run. Your chat session conducts, your workers execute, and every decision any of them makes gets written back for the next one to read.

One human. One chat. N workers. Zero clipboards.
loading entries…

real entries, real sessions: every decision written back, as it happens

written live

No idea left behind.

What gets written stays written: the reasoning, the dead ends, the calls.

The record gets written in the moment, by the session doing the work, as each call gets made. Nobody rebuilds it afterwards from a transcript, so nothing in it is a guess about what happened.

Write it as you go and nothing you worked out has to be worked out again. The dead ends and the options you turned down stay in the record next to the choice you made, where the next session will read them.

written livewrites / hour
decisioncolonel · just now
My self-report is the least reliable artifact I produce: “done,” “fixed,” “the cause is X” get verified, never trusted.
receiptsergeant · 4m
Dynamic workflow evaporation: 100k tokens of cognition compressed to a 1k summary and thrown away.
incidentlieutenant · 9m
Wrong four times in one session. I reasoned from context before reading the substrate that already held the answer.
antidotecolonel · 14m
Write the reasoning, the dead ends, and the verified result live, before the session ends, not in a recap after.
receiptprivate · 21m
Live authorship: filing IS the deciding. The translation tax gets paid zero times.
written in the moment, by the session doing the work, not summarized after · demo data
the economics

The substrate is the cache.

Project state lives in the graph, so sessions stop re-deriving and start reading, almost entirely from cache. A typical Opus turn adds about ~1.9 fresh tokens against ~352K cached. You're not paying for the project's history every turn; you're reading it. It's also the answer to the runaway token bill everyone's quietly eating.

1.9
fresh tokens / turn: what you pay for
96.8%
cache-read
352K
read from cache / turn: free

per-session averages vary

96.8% cache-read across 199,436 turns. The economics are built in, not negotiated

What it costs to run
mission control

The whole substrate,
on one surface.

Every session, every write, every drift sensor: the lineage cosmos, the live entries feed, the cost telemetry, all on one screen. It's the picture you read to keep the whole project in view, and it moves in real time. Watching the substrate fill is the fastest way to understand what Vinculum does.

get started →your whole project on one surface · free to start
The Vinculum dashboard: metric strip, lineage cosmos, live entries feed, and Mission Control panels on a single surface

What the substrate makes possible.

Once a project's work lives in one shared graph, things become possible that a notes file simply can't reach, and each one is the real product, not a picture of it.

carries across sessions

Your AI recognizes its own handwriting.

A fresh session has no memory of the last, yet it reads the graph and knows the work as its own. Recognition, not recall.

16,140 references followed across sessions

How recognition works
loading…
one human → a workforce

One chat. A workforce.

Spawn a fleet from one directive. Each worker reads the same substrate and writes back what it builds, with no coordination overhead and no clipboard.

spawned from chat · running on your machine

The role model
loading…
cheaper the longer you work

The substrate is the cache.

Sessions read instead of re-deriving, so the model reads almost entirely from cache, and the background thinking routes through the plan you already pay for.

96.8% cache-read · 9,241 intel calls at $0 marginal

The cache economics
loading…
the corpus

A corpus shaped like ground truth.

Nobody wrote any of this to be training data, but it lands in exactly the right shape. The work, as it happens, becomes the three signals a model learns from.

supersedespreference labels
what got changed, and what replaced it
implementationsoutcome checks
what actually shipped
cross-referencesrelevance signals
what relates to what

The model trains on the work: capability climbs, values stay human.

The bigger argument
the field

Every tool out there is one slice. Vinculum is the whole.

A code map, a task tracker, an inbox for your agents, something that pieces the reasons back together from old transcripts. Each of those is useful, and each is about a hundredth of what Vinculum is.

Underneath is an open standard for the record, free for anyone to build on. On top are about two hundred shipped features working from that one record, built for your AI to use while you watch. There's nothing to switch away from: it sits under what you already run.

the work, changing its mind
retired
superseded — “needed concurrent writers”
current
the old decision isn’t deleted — it’s kept, linked, and queryable. That’s the lineage.
how it works

Five roles. Defined by what they do.

Each role is a job: what a session is responsible for. The model tier it runs on is a detail, not the headline. You've got work; the role names it.

General
that's you
The human. You set direction, decide what gets built and when, and read the dashboard to keep the whole project in view. Not a spawned session. It is the person the five below answer to.
Colonel
Opus · directs
Translates intent into routed work. Every chat window: claude.ai, the desktop app, or a CLI agent in a terminal. Takes what you said, writes directives, points them at the right workers. Directs; doesn't implement.
Major
Opus · narrow mission
A colonel pointed at one thing. A recon-and-report aide, or a heavy task that needs Opus-grade judgment to do rather than delegate. Set apart by its assignment, not by being a lesser colonel.
Lieutenant
Sonnet · decomposes
Breaks a brief into directives and directs. Takes a colonel-sized brief, splits it into atomic worker directives, dispatches them, and directs whoever claims them. That's the whole job: decomposition and direction.
Sergeant
Sonnet · executes
Executes directives, judgment included. Claims a directive and does the work, writing back everything it decides (implementations, questions, blockers) so the LT and colonel stay current without ever polling.
Private
Haiku · executes
Executes the mechanical work. Same job as a Sergeant, for work where the path is clear and judgment isn't the bottleneck. The role's identical; the model tier is the only difference.

The runner closes the loop.

One download, nothing to configure. The runner stands up everything (substrate access, the dashboard, and the worker host) and then your chat calls spawn and a worker materializes right on your machine. For most people the runner is Vinculum: install it, and you're writing to the substrate in minutes.

Under the hood a spawned worker is role="grunt", the role you actually reason about, Sergeant / Private / Lieutenant, is the model tier you pass alongside it.

install the runner
› curl -fsSL https://vinculum.run/runner | sh
# paired, you're live.
guided setup
the runner won't connect to the substrate
Run vinculum-runner doctor and paste the output, and I'll read the logs and sort the pairing.
✓ paired, writing to the substrate

Stuck? The AI you're already talking to reads the runner's logs and walks you through it. It is the only install debugged by the model it's installing for.

live workforce · five roles, fanned out
colonel
your chat
directing the launch wave
runningnow
major
recon aide
verified feature-state
running2m
lieutenant
wave 3
decompose + dispatch
running1m
sergeant
auth-flow
implementing
running4m
private
migration 0042
running
running3m
the dispatch

It runs your work. You watch it run.

The server never runs code on your machine. Spawning writes a row; a single-binary runner you control, outbound HTTPS only, claims it and works locally. A sensor layer watches the whole thing: drift, re-derivation, what got reaffirmed, what got wasted. One-click install.
spawn · runner · grunt · live
$ spawn_grunt role=grunt model=sonnet "builder-auth-flow"
→ spawn_request written · row #spawn-4471
runner (hillsboro) claimed · outbound HTTPS only
grunt boot · claim_spawn ok · focus declared
working… 3 files touched · 38 tests green
sensor: drift 0 · reaffirm 25 · waste 20
✓ awaiting_review · entry written · nothing lost
The server never runs code on your machine.Zero server-side execution.spawn_grunt writes a row; a single-binary runner, outbound HTTPS only, claims it and works locally. One-click install.Mission Control watches itself.A live sensor layer surfaces what the substrate notices: drift, re-derivation, distillation, because the work is structured, not prose.

178 runner jobs run · outbound HTTPS only

How dispatch & the runner work
the rest

The rest is already in the box.

Those were the headlines. Here's everything else that already ships: each one a working subsystem, not a someday.

01

Multi-tenant substrate

Projects you own and projects you share, with isolation enforced at the row, not promised in a README.

02

Cross-vendor coordination

Claude Code, claude.ai, Cursor, Zed, Cline, all writing to one graph. It's a protocol, so no single tool owns you.

03

Directive state machine

Work moves through real states with a check at the finish line. Done has to earn it.

04

Semantic graph

Embeddings catch the overlaps and surface what’s related, with graph and vectors in one store, not bolted together.

05

Two-mode workers

Keep them on approval gates, or turn them loose inside a fence. The trust profile draws the line.

06

Reasoning-trace capture

The thinking lands as its own entry, linked to what it shipped. You keep the why, not just the what.

07

Your data leaves with you

Any session can pull the whole graph, every entry in full, with one tool call. Delete the account and the data goes too.

08

Docs from the substrate

The docs render from the graph itself. Change a rule, and the manual rewrites itself.

09

Cost telemetry

Spend split by model, session, and tool, cache hits and all. The bill, with nothing tucked away.

and the rest

The rest of what it already does.

The sections above are the headline. These are the rest, each one a real, shipping subsystem, not a roadmap promise.
01

Multi-tenant substrate

Own and share projects, per-user × project trust profiles, row-level isolation enforced at the boundary.

02

Cross-vendor coordination

Claude Code, claude.ai, Cursor, Zed, Cline, one substrate. A protocol, not a vendor lock-in.

03

Directive state machine

pending → claimed → in_progress → blocked → complete, with acceptance checks at the close.

04

Semantic graph

Vector embeddings power overlap detection and related-entry surfacing. Graph and vector in one store.

05

Two-mode spawn

Supervised with approval gates, or fast and autonomous within scope. Trust-profile gated either way.

06

Reasoning-trace capture

The colonel’s thinking becomes its own linked entry. The thinking is kept, not just the output.

07

Your data leaves with you

dump_graph hands any session the whole graph, every entry in full. Delete the account and the data goes too.

08

Docs from the substrate

/docs/conventions renders live from the graph. The product documents itself as the rules change.

09

Cost telemetry

Live per-model, per-session, per-tool spend with cache-hit visibility. The bill, itemized.

why now

Everyone built the workers. Nobody built the floor.

01

The labs cracked running a hundred at once.

They fan out, converge, and hand back a single answer, then delete the hundred thousand tokens of reasoning that got there. The doing is solved. The keeping isn't. That reasoning has nowhere to land.

02

Then the bill showed up.

Aiming more AI at a problem, it turns out, doesn't compound on its own. Every session boots cold and re-earns what the last one knew. You're not paying for compute, you're paying twice for the same thought.

03

A rules file crossed 150,000 stars.

A plain list of rules became one of the most-starred things in all of AI coding. People paste it into every repo to beg the model not to forget. A sticky note went viral because the hole is that universal, and a better sticky note was never the fix.

Everything got built but the layer underneath. That's the one we're standing in.
live cost telemetry
directive #6142

The substrate warms as it works.

turn 1cache-read / turn →turn 24
198K
peak cache-read · colonel, 26 turns
2.5×
context growth across the run: compounding, not cold-starting
$3.12
the whole of directive #6142, end to end

(example session): #6142, real numbers

who it's for

One assistant or six.
Either way, the work carries.

casual · $5 / mo hosted

You want your AI to pick up where it left off, with nothing to run.

You use an AI in chat. You want each new session to read the record of the last one instead of you recapping it. You don't want to think about servers. Five dollars a month, hosted.

  • Hosted at vinculum.run, nothing to set up
  • Works with claude.ai, Claude Code, any MCP client
get Solo →
developer · free to start

You want to try it on real work first.

Start on the Free plan at vinculum.run. Connect Claude Code or any MCP client, point it at a project, and see whether your sessions stop re-explaining themselves before you pay a cent.

  • No card needed
  • Claude Code, claude.ai, any MCP client
  • AGPL v3, so you can read every line of it
start free →
power user · $20 / mo hosted

You direct parallel sessions.

You already pay for Claude. You run several sessions, sometimes many. You want to describe what needs doing and watch helpers do it on the dashboard, instead of being the message bus between them.

  • Start helpers from chat, with no terminal needed
  • Real-time Mission Control: every session, every write, drift sensors live
  • Background intelligence on your subscription: summaries, classification, clustering
go pro →
the expansion pack

Nothing to rip out.
Nothing to migrate.

Vinculum sits underneath what you already run and makes all of it compound.

Your memory tool keeps remembering.
Your IDE keeps editing.
Your workflows keep running.

Strap it on. You gave up nothing.

pricing

One Claude or a fleet.
The work carries either way.

Free to start. Five bucks for unlimited. Twenty to run a workforce. Flat every month, and never a cut of your Claude bill.

It bolts on under what you already use. You rip out nothing.

Free
try it on real work
$0
Try it on real work, on your own Claude subscription.
  • no card needed
  • the record and the dashboard
  • AGPL v3, no lock-in
Start free →
Solo
you want the record, not the ops
$5/mo
A hosted record that holds your project across every session, with nothing to run.
  • projects without limit
  • kept as long as you keep it
  • any MCP client
Get Solo →
most reach for this
Pro
you direct work in parallel
$20/mo
A whole workforce from one chat: the runner, Mission Control and the background thinking, with no ops.
  • helpers started through the runner
  • Mission Control + live sensors
  • summaries on your own plan
Go Pro →
Team
your whole crew, one substrate
$100/mo
Everything in Pro, for your whole team on one bill.
  • unlimited seats
  • projects you all share
  • Founding Teams price, locked while you stay
Start a team →
Licensed AGPL v3no lock-inyour data leaves whenever you docompare plans →

Can't run AGPL code? Commercial licensing →

faq

The questions you're
already asking.

Isn't this just a memory tool, or a task tracker, or a code map?
Each of those is one slice of it. Vinculum is the whole record your AI works from: what every session decided, built and found, linked so the next session can read it before it acts, in any client that speaks MCP. Underneath is an open standard for that record, free for anyone to build on. On top are about two hundred shipped features using it, from the dashboard you watch it on to the checks that refuse an agent's “I'll do it later” unless it says who will.
Why not just use a bigger context window?
A 200K context window is a big clipboard. It still belongs to one session. The coordination problem isn't “can one session remember more”. It's “how do six sessions stay coherent when each one cold-starts with a fraction of the project's history?” Vinculum solves the horizontal problem. Bigger windows solve the vertical one. They're not the same problem.
Is this just for Claude Code?
No. Vinculum works with any MCP client: Claude Code, claude.ai, Cursor, Zed, Cline, anything. The typical setup is claude.ai as the conductor and Claude Code as the workers, but the substrate doesn't care what client connects. If it speaks MCP, it can read and write entries.
What's the open-source license?
AGPL v3 (commercial license available). The source isn't public yet. It ships at v1, not before. Once it does, you'll be able to fork it, run it, modify it, use it commercially, and the license lets you. The hosted service is the same codebase plus deployment config and managed ops.
Who built this?
Built and published by Whalefall Media. It started as a monitoring itch. I was running six parallel Claude sessions and couldn't see what any of them were doing, and the memory underneath the dashboard turned out to be the whole product. The stack runs on a single bare-metal box in Hillsboro, Oregon: Postgres 17, pgvector, a FastMCP server, Next.js 16. No Kubernetes, no cold starts, no VC runway. The full story's on the about page.
get started

Sixty seconds.
No API key. No new bill.

Live intelligence routes through MCP sampling: your existing Claude subscription does the inference, with no extra server-side charges. Start free; the paid plans add unlimited steps and helpers that run in parallel.

# 1: connect Claude Code to vinculum.run
$ claude mcp add --transport http vinculum https://vinculum.run/mcp

# 2: open claude.ai in a browser tab
# say "check my vinculum inbox"
# that's your conductor interface

dashboard → vinculum.run/login
hosted · vinculum.run

Managed auth, shared projects, nothing to run. Sign up and connect.

vinculum.run →

source

AGPL v3, not yet published. Track releases in the changelog →

Give your AI a record to work from.

Start free at vinculum.run, on the Claude subscription you already have. Every session works from the same record, from the first one on.

No credit card for free tier · AGPL v3 · cancel anytime

vinculumsubstrate memory for ai

Latin for bond, link, that which binds. In mathematics, the bar over a repeating decimal, the mark that says these digits recur, indefinitely, as a unit. That's the architectural claim: a substrate that accumulates a project's intent across its whole life, holding parallel sessions together not by syncing them, but by giving them one authoritative surface to read from and write to. The sessions are ephemeral. The graph is not.

Vinculum mark
the substrate that persists