---
title: "Brain Vault"
url: "https://toddpaulbrownjr.com/builds/brain-vault/"
author: "Todd Paul Brown Jr."
description: "The Brain Vault is Todd's ADHD accessibility system: a local-first knowledge base an AI agent can navigate. The architecture and numbers, never contents."
kind: "build"
updated: "2026-09-26T02:50:13+00:00"
---

# Brain Vault

## What it is

The Brain Vault is the accessibility system I built for my ADHD, and it's a highly effective one. It's a local-first Obsidian vault that works as an external layer for context and priorities, structured so an AI agent can navigate it and do useful work with real context.

It's **shipped** for its one user and in continuous use. Everything on this page is architecture and counts. What's inside it stays private.

## Why it exists

A notes app is built for retrieval: where did I put that? This is built for connection and action: what does an agent need to know right now to act on real context? That's a different problem, and a much less discussed one.

## How it's built

**Two layers, on purpose.** Imported source material lives in a raw layer and is never edited. The synthesized layer (concept pillars, notes, timelines) is written on top and links back. The raw layer is the evidence; the synthesized layer is the argument. Importance scoring only counts the argument.

**Triage before extraction.** An import pipeline splits a batch into one file per item, removes near-duplicates at a 0.80 similarity threshold with every decision logged, then scores each item for signal strength so the agent spends its effort where the signal is.

**Frontmatter as the agent's index.** 96% of documents carry structured metadata. Undated material gets an inferred date and a confidence level, not a guess dressed as a fact.

**Procedures, not vibes.** 17 agent playbooks define named routines (imports, interlinking, health checks, weekly review), and a routing layer tells an agent where to start for a given kind of question and which sources are stale.

**Operating documents.** A live priorities document, operating assumptions held as hypotheses with confidence levels, an energy map for scheduling work against actual focus, and an accomplishment ledger. The ledger exists because without one, progress goes invisible and gets undercounted.

**PageRank for importance.** A standard-library Python script builds the link graph and ranks the synthesized layer. The same scores drive a 3D visualisation plugin I built for it, which maps domains to stars, concept pillars to planets and evidence notes to moons. The dense graph is never drawn directly; the plugin renders a sparse version, which is the answer to the usual graph-view hairball. The plugin itself is **built**, not shipped: 31 tests and one feedback round still open.

## What broke

**The nebula that never rendered.** Scene fog was washing the additive sprites to black. No test could catch it; I found it by looking.

**Five fix rounds in one day, and the record drifted.** The feedback document's round numbers don't match the coding session's, because three rounds happened in chat and were never written down.

**My own headline number was wrong.** An earlier summary said about 1,850 documents and 56 pillars. Measured: 1,765 and 50.

## Receipts

| Figure | What | Source |
|---|---|---|
| 1,765 | documents | aggregate count script, 2026-09-21 |
| 869 + 822 | synthesized + raw documents | same |
| 7,075 | links in the synthesized layer, median 5 per document | same |
| 50 | concept pillars | frontmatter count + plugin integration test |
| 17 | agent playbooks | folder listing |
| 31 | plugin tests, including one run against the real vault | test files |

All measured, totals only. More on the [receipts page](/receipts/).
