Engram logo Engram · Docs Docs home GitHub ↗

Connecting knowledge

Two parallel ways to connect notes: note-to-note cross-links, and an abstract concept graph. Plus chat over both.

A holistic, domain-wide pass reads every note summary and adds a ## Related section to each note — links to related notes, including across section groups. Safe by construction: links only point to notes that exist (no dangling links), are symmetric, and capped per note.

You see the effect at the bottom of each note's summary, and — most powerfully — in Obsidian, where the [[wikilinks]] are clickable and feed Obsidian's own graph.

uv run python -m engram link "Data Science"
Design note — rebuilds from scratch
link recomputes the whole domain's ## Related each run. The app asks before re-running if links already exist (it would overwrite them). A delta-driven incremental refresh is the next step.

Concepts — build the graph

Beyond folders, Engram distils the domain into a multi-layer graph of concepts (not files): Concepts → Themes → Areas. Each level is a tab you switch between to change granularity. It's a separate artifact from cross-links — it doesn't need them, and they don't need it.

uv run python -m engram concepts "Data Science" --layers 3

In the app, the Concepts (brain) icon builds it — pick scope + layers. It also asks before overwriting an existing map.

Graph — explore & drill

The Graph icon opens the interactive, force-directed view. Nodes are colored by cluster (their parent); edges are solid (two concepts share a note) or dashed (related by the model's knowledge). Drag a node, pinch to zoom, click one for the notes it covers.

Drill-down: click an Area and choose “Drill into its themes” — the view jumps one layer finer with that area's themes spotlit and the rest dimmed. A “clear spotlight” pill resets it.

Cross-notebook graphs

Pick two or more domains in the Concepts dialog to build a graph that spans notebooks — surfacing concepts shared across fields. It lands in a combined map you can switch to from the graph's map menu.

Chat — query & synthesis

Once a concept graph exists, chat with your notes. Context is pulled deterministically from the graph and your summaries — no embeddings — and every answer is grounded and cited, with anything beyond your notes clearly marked. Query a single course or concept, or Synthesise a whole field.

engram chat query "Data Science" "…question…" (--concept "…" | --course "…")
engram chat synthesis "Mathematics" ["Data Science"] -q "…big question…"

Staleness — keeping it current

The cross-links and concept graph are snapshots: when you add or edit notes, they fall behind. Engram tracks a per-domain revision and shows a stale dot on the Link and Concepts icons when they're out of date. Re-run them to refresh.

uv run python -m engram domain status "Data Science"   # links / concepts stale?

Next: Reference →