Compendium
Full spec (AI-readable): Compendium.md →
A glossary that gathers terms from several modules and points each one back to the document that defines it.
A concept-anchored dual-register vocabulary substrate — one concept, one definition, two registers; pointer-not-paraphrase.
What Compendium is
What Compendium is
Gathers cross-module terms, gives each a plain + an expert label tied to one meaning, and points back to the source rather than copying it — so it never drifts.
A concept-anchored dual-register glossary + cross-module wiki. One concept = one definition + register-tagged terms; internal entries are pointer-only into the owning spec, general entries (no owner) carry the full def.
The core idea
Central thesis
Point, don't copy — a glossary that points to the source can't go stale.
Vocabulary outlives runtime — so the durable investment is the concept-anchored model + the content-boundary charter, and the runtime/spec is the first prunable target.
What's inside
What's in the box (v0.2)
Concept-anchored dual register
One meaning, two labels (plain + expert), tied so they never split into two ideas.
One node = one neutral definition + register-tagged terms (preferred/admitted/hidden) + glosses. hidden_search_only matches messy input without surfacing.
Pointer-not-paraphrase charter
Owns no official content — points to each module's document instead of restating it. Only one source to keep correct.
One-directional (Compendium→spec). Internal = gloss + owner_spec pointer (spec is SSoT); general (no owner) = full def. Redaction gate blocks conversation leakage.
Content store + lints (v0.2-a)
Entries as small files + an automatic check that every pointer address really exists + housekeeping checks.
markdown store (atomic entries, computed backlinks) + 0-dep lint.cjs: 4 gardening lints + pointer-resolution (heading-slug grep). --reindex builds the computed MOC.
MCP runtime — 8 tools (v0.2-b)
A small helper: look a term up, give a plain or expert meaning, find loosely-typed terms, and check the glossary is healthy — and it needs nothing else installed.
0-dep stdio MCP server, 8 tools: wiki_read/search/upsert · term_define/frequency_scan/promote · backlinks · lint.
Works in any notes app, not just ours
Portable over any vault (v0.2.2–v0.2.4)
The same files open in any notes app (a live link-graph in Obsidian) and in an AI's memory — Compendium gives you the rules, on top of plain files anything reads, not a locked-in viewer.
Plain markdown+frontmatter → storage + viewer are substitutable (dashboard / Obsidian / provider memory). Compendium owns the discipline, not a runtime; the wiki tab is one optional viewer, the discipline travels.
The point
The wedge
Point, don't copy — and the rules now travel wherever your files do.
Pointer-not-paraphrase is what generic vaults + provider memory don't give you — shipped as portable skills, so you adopt the discipline, not a runtime.
Vault projection — lights up in Obsidian
Open the folder in a notes app → a live map: related terms connect, each links out to its source document. Zero setup.
--reindex emits a per-entry block: peers as in-vault [[id]] graph edges + owner_spec as a relative link out. Lights up Obsidian's graph; frontmatter stays the typed SSoT. Idempotent.
Cross-tool curation skills
The 'keep it clean' rules come as two plain instruction files any AI assistant reads — one to add/maintain terms right, one to check it's healthy.
compendium-curate (the curation procedure) + compendium-lint (six gardening checks) as plain-markdown Agent Skills — discipline to any file-reading harness, no MCP/plugin. Each points to Compendium.md.
Live dashboard wiki tab + click-to-define
A glossary page on the live shared screen (a plain-or-expert switch); clicking a related term opens its meaning in a small side panel without making you leave the page.
Constellation wiki tab (static compendium.json) + non-modal cross-link side panel: click → gloss in an aside (peek + chain + jump), §8.2 dialog a11y, mobile bottom-sheet.
Taking terms out, not just adding them
Eviction is first-class
Never a quiet delete — a renamed term is marked 'replaced' and linked to the new one, so old references still work. And it plans its own retirement: the entries move over cleanly, and the custom-built parts are retired first.
First-class deprecation (active/superseded/archived + superseded_by, isomorphic with the Greatpractice retire-axis). Explicit self-eviction: content migrates, the bespoke runtime/spec is pruned first.
When it's worth adopting
Adoption thresholds
Not for every project — it only pays off with several parts sharing words, ~25+ terms that refer to each other, a live shared screen, and real signs of terms drifting apart. For a one-doc or one-off, a plain list of notes is the answer.
Adopt only when all hold: ≥2 overlapping specs, ~25+ active cross-referenced terms, a live dashboard, recurring drift. EG qualifies on all four. Below the bar, inline parentheses + a flat index are correct.
Install
Add the EstreGenesis marketplace to Claude Code. You only need to do this once per machine.
/plugin marketplace add SoliEstre/EstreGenesis
Install the Compendium plugin — it comes with the term files, the automatic checker, the small AI helper, and the two instruction files, with nothing else to install.
/plugin install compendium@estregenesis-plugins
Run the command below once, then open the term folder in your notes app (e.g. Obsidian) to see a live map of how the terms connect.
node plugins/compendium/lint.cjs --reindex
Example prompts
When about to write a glossary entry or copy a definition already in a project doc, ask the assistant to add it the Compendium way — a one-line summary + a link to the real source + a plain and an expert wording, not a copy that goes stale.
Add the term 'ack-tier' to the Compendium the right way — a one-line summary plus a link to the document that defines it, not a copy of the full definition.
Before you save, run the housekeeping checks — every link points to a real heading, no entry recopied a full definition, nothing private leaked, no broken/stray/out-of-date entries. With the command below, or have the assistant check by hand.
node plugins/compendium/lint.cjs
Use cases — three situations where Compendium earns its keep
Use cases — three scenarios
Stopping a glossary from going stale
Keeping a glossary in sync with the specs that own the terms
When this happens: Copies of the same definition drift across documents; you want one label per idea that always agrees with the source.
When this happens: A spec-owned term gets restated elsewhere and drifts. Compendium records gloss + owner_spec pointer; the pointer-resolution lint fails the build on a dangling target.
Outcome: one label per idea, always pointing to the source — nothing to re-edit when the source changes, because it was never a copy.
Outcome: the glossary can't drift (pointers, not copies); a renamed heading is caught at lint time, not by a reader.
Meeting a term outside the document that defines it
Click-to-define on the live dashboard
When this happens: You hit an unfamiliar term while reading on the dashboard and want its meaning right there.
When this happens: A reader meets a term outside its spec. The wiki tab + side panel show a register-targeted gloss on click — peek, chain, jump.
Outcome: the meaning appears in a side panel where you are; chain related terms, jump to the full entry only if you want.
Outcome: terms are legible at the point of reading; the same store also renders in Obsidian / a provider store, so the surface isn't locked to the dashboard.
Keeping your vocabulary portable across tools
Carrying the discipline to any harness (option-c)
When this happens: You don't want to be stuck with one app — you want the terms and the rules to follow your files anywhere.
When this happens: Storage/viewer keeps shifting. Install the two skills, keep the markdown store, and the projection lights up whatever viewer you point at — the discipline is carried, not tied to a runtime.
Outcome: your vocabulary outlives any one tool — switch apps and the same files + rules just work.
Outcome: the discipline travels with your files; a provider-native equivalent triggers migration of the markdown + skills and pruning of the runtime — you lose the machinery, never the vocabulary.
Want to read more?
Read the full spec
The full Compendium.md rulebook is in the EstreGenesis repository.