Level

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.

v0.2.7 6th module pointer-not-paraphrase portable over any vault 0-dep MCP · 8 tools 2 cross-tool skills Apache-2.0

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

A Register the marketplace (one time)

Add the EstreGenesis marketplace to Claude Code. You only need to do this once per machine.

/plugin marketplace add SoliEstre/EstreGenesis
B Install Compendium

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
C Optional — open it in any notes app

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

1 Add a term the Compendium way (don't paraphrase)

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.
2 Check the glossary's health

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.

github.com/SoliEstre/EstreGenesis/blob/main/Compendium.md →