2,441 pages across 17 directories. But only 270 of them were written by you — the other 89% is imported reading and machine-generated scaffolding. The complexity you are feeling is almost entirely one layer.
Disk and index agree to within one file — the extra is today's untracked daily note.
Brain/.git is a
44-byte pointer to ~/.gbrain/brain.git (15 MB), deliberately outside iCloud
so iCloud cannot corrupt git internals. The files are backed up by iCloud; the history is
on this machine only.
Every page falls into one of three classes. Sorting by that, rather than by type or directory, is what makes the vault legible.
| Class | What it is | Pages | Share |
|---|---|---|---|
| Machine-derived | atoms, entity stubs, concepts, receipts — written by gbrain, not you | 1,353 | |
| Imported reading | all of media/ — Readwise highlights and transcripts |
818 | |
| Authored | notes, ideas, diary, projects, writing, events | 270 | |
| Total | 2,441 |
Of the 270 authored pages, 21 are sandbox artifacts in treehole/
left over from agent testing — including a page called _fence-probe that is 18
characters long. Your genuine written corpus is closer to 249 pages, or
10.2% of the vault.
16 types in use, from a pack that declares 30. Colour marks the class each type belongs to.
| Type | Class | Pages | Share | |
|---|---|---|---|---|
| source | imported | 818 | 33.5% | |
| atom | derived | 503 | 20.6% | |
| product | derived | 367 | 15.0% | |
| person | derived | 240 | 9.8% | |
| company | derived | 164 | 6.7% | |
| diary | authored | 68 | 2.8% | |
| idea | authored | 63 | 2.6% | |
| concept | derived | 62 | 2.5% | |
| project | authored | 40 | 1.6% | |
| writing | authored | 37 | 1.5% | |
| note | authored | 37 | 1.5% | |
| event | authored | 21 | 0.9% | |
| production | derived | 12 | 0.5% | |
| extract_receipt | derived | 5 | 0.2% | |
| analysis | authored | 2 | 0.1% | |
| transcript | authored | 2 | 0.1% | |
| 16 types | 2,441 | 100% |
Directory and type agree almost everywhere — the pack routes by path prefix. The two disagreements are worth knowing about.
| Directory | Files | Types found | Notes |
|---|---|---|---|
| media/ | 818 | source ×818 | Readwise imports — articles, videos, transcripts |
| atoms/ | 503 | atom ×503 | Extracted insights, foldered by date |
| products/ | 367 | product ×367 | Entity stubs |
| people/ | 240 | person ×240 | Entity stubs |
| companies/ | 164 | company ×164 | Entity stubs |
| life/ | 87 | diary ×66, event ×21 | Your journal and calendar |
| ideas/ | 63 | idea ×63 | Split out of the inventory yesterday |
| concepts/ | 60 | concept ×60 | Synthesised clusters |
| projects/ | 38 | project ×38 | Yours |
| writing/ | 37 | writing ×37 | Yours |
| notes/ | 23 | note ×22 | Yours — now mostly index pages |
| treehole/ | 21 | note ×15, project ×2, diary ×2, transcript ×2 | Agent sandbox residue |
| productions/ | 12 | production ×12 | Entity stubs |
| extracts/ | 5 | extract_receipt ×5 | Import bookkeeping |
| wiki/ | 2 | analysis ×2 | Near-empty |
| Daily Notes/ | 2 | concept ×2 | Mistyped — should be diary |
| Captures/ | 0 | — | Empty directory |
| 17 directories | 2,442 |
Daily Notes/ pages are typed
concept rather than diary, because no pack prefix matches the
capitalised, spaced directory name. And treehole/ scatters four real types
across sandbox junk, so probe files are counted as your notes, projects and diary entries.
783 pages, or 32% of the entire vault, are auto-created entity stubs. Every single one has zero prose: they exist only to hold a facts table.
| Facts held | Pages | Share | |
|---|---|---|---|
| exactly 1 | 384 | 49.0% | |
| 2–3 | 161 | 20.6% | |
| 4–10 | 211 | 26.9% | |
| 11 or more | 27 | 3.4% |
Half the entity layer is a page created because a name was mentioned once, holding one claim, referenced by nothing. That is what makes the vault feel sprawling when you browse it in Noto — the folders with the biggest counts are the ones with the least in them.
| Entity | Facts |
|---|---|
| people/eugene-chan | 165 |
| products/claude-code | 43 |
| companies/anthropic | 29 |
| people/andrej-karpathy | 26 |
| companies/openai | 23 |
| products/chatgpt | 23 |
| people/ali-abdaal | 22 |
| products/openclaw | 20 |
What gbrain has produced on top of the raw pages.
| Layer | Count | Lives in | State |
|---|---|---|---|
| Facts | 4,247 | markdown fences on entity pages | 2,769 (65%) attributed to a typed entity |
| Atoms | 503 | atoms/ as real pages | from only 170 distinct source pages |
| Concepts | 62 | concepts/ as real pages | synthesised clusters |
| Takes | 156 | DB + take fences | bootstrap still disabled |
| Links | 1,378 | derived index | see graph below |
| Chunks | 6,894 | derived index | 0 unembedded |
| Jobs run | 1,326 | queue history | all time |
| Source directory | Atoms |
|---|---|
| media/ | 483 |
| treehole/ | 17 |
| notes/ | 3 |
| from 170 distinct pages | 503 |
Effectively all insight extraction has run against imported reading, not against your own writing. 17 atoms were mined out of sandbox test files.
1,378 links. 82% of them originate on entity pages and point back at the sources they were extracted from — not from your notes out to the entities they mention.
| Links originate from | Links | |
|---|---|---|
| product | 477 | |
| person | 372 | |
| company | 271 | |
| note | 101 | |
| idea | 84 | |
| source | 55 | |
| production | 12 | |
| project | 2 |
This is gbrain working as designed — provenance flows from the claim back to its evidence, which is what makes a fact auditable. You accepted this trade earlier. The consequence is that browsing from one of your notes will not surface the entities it discusses, and 734 entity pages have no inbound link from anywhere.
How much of the corpus has been through each stage.
| Stage | Done | Pending | Reading |
|---|---|---|---|
| Embedded (has chunks) | 2,002 | 439 | the 439 are almost all atoms — see findings |
| Facts extracted | 879 | — | every eligible page has been swept |
| Atom extraction | 170 | 991 | draining on Sonnet 5 via autopilot |
| Link extraction | 2,296 | 145 | the 145 are all atoms |
| Stale (edited since indexed) | — | 2 | watcher is keeping up |
| Tombstoned pages | 0 | — | no deletion debris |
Ordered by what actually costs you something.
They have no chunks at all — not unembedded chunks, no chunks. The extraction ran, spent LLM budget, and wrote 503 pages that search cannot return. The same 435 are the ones never link-extracted.
This is a different failure from yesterday's pricing bug (which left chunks present but
NULL). Atoms are written by extract_atoms through a path that never chunked
them. Fixable with a re-sync of atoms/; worth confirming before the remaining
991 pages drain and multiply it.
384 pages hold exactly one fact; 734 have no inbound link. They are 32% of the vault and the main reason browsing feels heavy. They are not harmful — retrieval ignores them — but they dominate every folder listing you look at.
28 commits in ~/.gbrain/brain.git, no remotes. Keeping it out of iCloud is
the right call — iCloud corrupts git internals — but it means the only copy of your history
is this Mac. The files themselves are safe in iCloud.
21 agent sandbox pages, including _fence-probe at 18 characters, are typed
as note, project, diary and transcript. They inflate your authored counts and have already
produced 17 atoms from test fixtures.
Two pages. No pack prefix matches the capitalised, spaced directory name, so they fall
through to concept instead of diary.
Migration residue from Noto.
In order. The first item alone removes a third of what you see when you browse.
| # | Action | Pages affected | Cost of doing it |
|---|---|---|---|
| 1 | Stop materialising single-fact entities as pages. Keep the facts in the DB; only write a page once an entity has ≥2 facts or an inbound link. | 384 | a patch hunk; facts are unaffected |
| 2 | Delete treehole/ and exclude it from extraction. |
21 | nothing of yours is in it |
| 3 | Re-sync atoms/ so the 435 orphaned atoms become searchable. |
435 | one sync; makes prior spend actually useful |
| 4 | Add a git remote — a private repo, or a bare mirror on another disk. | — | one command, removes a single point of failure |
| 5 | Fold Daily Notes/ into life/ and drop the empty
Captures/. |
2 | trivial |
Done in that order, the vault goes from 2,441 pages to roughly 1,600, with
nothing lost but scaffolding — and the folders you actually open (ideas/,
life/, notes/, projects/, writing/)
become the majority of what you see rather than a rounding error.