>_cat how-it-works.md

The mechanism, laid open.

Why agents forget, what the cabinet actually is, the surfaces you operate, the tools your agents call, and the path to agent‑ready. Five stages, read in order.

[ 01 ] The amnesia why it exists [ 02 ] The cabinet what it is [ 03 ] Five surfaces what you operate [ 04 ] The wiring agent mechanics [ 05 ] The path do it
Stage 01 — why it exists

Agents wake up amnesiac.

Every fresh session, your agent rebuilds context from scratch — re-reading, re-deciding, re-asking. Grounded exists to end the tax.

01
Context evaporatesClose the session and the reasoning behind every decision goes with it.
02
Lore driftsStale notes outrank current truth; agents re-litigate debates you already settled.
03
No paper trailAnswers arrive confident and uncited. You can't audit what you can't trace.
agent — session.log no continuity
// MON 09:14 — session #41
>which database did we pick for local state?
← SQLite — chosen for simpler deploys.
// ··· session ends ··· memory cleared ···
// THU 16:02 — session #58
>which database did we pick for local state?
! no record of prior sessions. starting from zero.
Same question, twice. Continuity is the entire fix.
Stage 02 — what it is

The cabinet is just files.

No black box, no managed service. ~/Grounded/Cabinet is a directory on disk you can open, diff, back up, and move; settings sit apart in ~/.grounded. Self-hosted continuity means the substrate is yours.

tree ~
~/Grounded/Cabinet  your data
├─ grounded.db ◂ sqlite-vec + FTS5
├─ exports/
└─ backups/
~/.grounded  config only
├─ config.toml
└─ install.json
exports/fact-27.mdexported record
---
id: fact:27
pinned: true
added: 2026-06-21
---
Use SQLite for local state to simplify deploys. Operator-pinned: ranks above session lore.
Readable in any editor. Versionable in git. Nothing proprietary in the way.
Recoverable
It's a folder. Copy it, restore it, roll it back.
Inspectable
Every record is plain text you can read and diff.
Portable
Moves between machines with no vendor on the path.
Stage 03 — what you operate

Five surfaces, one substrate.

SurfaceRole in the substratePrimary call
01Facts

Durable rules and decisions, pinned to outrank drift. The operator's truth — captured, not inferred.

POST /facts
02Sessions

What changed and why, captured in order. The momentum record between one sitting and the next.

POST /sessions
03Docs

The indexed source of record. Living documentation that reflects reality, kept searchable.

POST /docs/ingest
04Recall

Hybrid search over all three, merged with reciprocal rank fusion. Returns small, cited, ranked cards.

POST /recall
05Brief

The assembled working set, agent-ready. Wakes any agent up already holding the work — and your vision for it.

POST /brief
Stage 04 — agent mechanics

Your agents call the cabinet directly.

Grounded exposes MCP tools that wire into the agents you already run. Each call returns small cited cards first; the full record only when the task asks for it.

Agent / IDE
MCP server
Cabinet · ~/.grounded
>_ground_recall "sqlite decision"
→ fact · 0.94 · fact:27
>_ground_timeline sessions/2026-06-21
→ 6 events · ordered · context around the result
>_ground_get fact:27
→ full record · cited · traceable to file path
i Compact, then complete — small cited cards by default, full records by ID on demand.
Stage 05 — do it

Three steps to agent‑ready.

01

Install the service

On Windows, Grounded Companion installs it for you. On macOS and Linux, the install script and grounded install run it under Docker or systemd — cabinet at ~/.grounded.

02

Record what matters

Through the console or POST /facts, pin durable truth that recall ranks first.

03

Wire your agents

Point your MCP client at the server. Every agent now wakes to cited recall.

zsh — ~/project live
$curl -fsSL getgrounded.dev/install.sh | sh
$grounded install
✓ service up   console http://127.0.0.1:7437
$curl -s :7437/facts -d '{"fact":"Use SQLite for local state"}'
✓ fact pinned   fact:27
$grounded mcp install codex
✓ agents wired · cited recall live
0
GPUs required
0ms
Median recall
SQLite
+ sqlite-vec · pg optional
0
Embedding call / query
The cabinet is the promise

Wake up with the vision.

>_ POST /brief · agent codex · project grounded
Get started Back to home