External Links, Connections, and References — Deep Dive
Filed answer: which projects in the LLM Wiki ecosystem handle external links, connections, and references best, and what this vault can learn from them.
Executive Summary
Catalog scanned: 53 candidates (42 entities + 5 comparisons + 6 queries)
Analyzed in depth: 16 projects/products with explicit connection/reference handling
The LLM Wiki ecosystem divides into three families by persistent unit:
- Artifact-first (LLM Wiki) — human-readable markdown with wikilinks
- Memory-first (mem0, Nowledge Mem) — persistent context across sessions
- Graph/retrieval-first (Cognee, HippoRAG, LightRAG, GraphRAG) — scalable retrieval over large corpora
The strongest external-link/connection capabilities live in the graph/retrieval-first and memory-first families, not the popular desktop/wiki products.
1. Top Tier — Projects Excelling at External Links & Connections
| Project | What They Do Well | Key Evidence |
|---|---|---|
| cognee | Production graph with computable backlinks (633 nodes, 1090 edges), 38+ sources, ECL pipeline (Extract→Contrast→Link), 14-tool MCP server | rank-ecossistema-backlinks-relacoes — winner for backlinks + relations at scale |
| rightmemory | Typed edges as first-class primitive; tree+graph for coding agents; multi-agent sharing | rank-ecossistema-backlinks-relacoes — strongest typed-edge implementation |
| nowledge-mem | Cross-tool capture (15+ hosts), explicit graph (2,042 nodes / 3,080 edges), Background Intelligence auto-links + contradicts + supersedes, SKILL.md install contract | nowledge-mem — live graph traversal + maintenance ledger |
| graphify | 85.8k⭐; EXTRACTED vs INFERRED edge transparency; graphify path A B, graphify query; MCP server; 854k nodes/1.9M edges across 100 repos | graphify — edge transparency discipline |
| rohitg00 (LLM Wiki v2) | Typed relationships (“uses”, “depends on”, “contradicts”, “supersedes”); hybrid search (BM25+vector+graph, 95.2% LongMemEval-S); memory lifecycle (confidence, supersession, forgetting) | rohitg00 — most significant single extension of Karpathy pattern |
| atomicstrata-llm-wiki-compiler | OKF canonical; L0–L3 lifecycle profiles; exports nodes.jsonl/edges.jsonl/graph.sqlite/graph.graphml; --okf validation | atomicstrata-llm-wiki-compiler — standards compliance + explicit graph export |
| danvega-karpathy-wiki | Generates explicit backlinks.md file — portable inbound-link index | danvega-karpathy-wiki — JVM implementation with computable backlinks |
| krakiun-llmwiki / geronimo-iia-llm-wiki | Rust binaries; replace index.md with BM25+semantic+hybrid search via MCP; geronimo has 23 MCP tools, typed DiGraph (petgraph), ACP support | krakiun-llmwiki, geronimo-iia-llm-wiki — scaling solution |
2. Retrieval/Graph Layer (Graph/RAG Family)
| Project | Connection Model | Best For |
|---|---|---|
| hipporag | Personalized PageRank over schemaless KG; multi-hop associative retrieval | Non-obvious cross-document connections; “sense-making” |
| lightrag | Dual-level (entity + theme) retrieval; incremental graph updates | Efficient contextual retrieval over changing corpora |
| cognee | ECL pipeline → typed KG (Neo4j/Postgres) + vector DB | Production-scale multi-source synthesis |
Key distinction from llm-wiki-vs-memory-and-graph-rag: LLM Wiki = artifact-first (human-readable markdown); Graph/RAG = retrieval-first (optimized for answer generation, not legibility).
3. Protocol / Integration Layer
| Component | Role in External Connections |
|---|---|
| model-context-protocol (MCP) | Universal “socket” letting LLMs read/write external tools (Notion, Jira, Git, RSS, your wiki). This vault’s mcp/server.py exposes list_pages, get_page, search, graph_neighbors, graph_stats. |
| qmd | Hybrid BM25+vector search MCP (qmd-mcp) for markdown wikis past ~500 pages — local, no LLM API calls. |
| llm-wiki-mcp | Minimal 4-tool MCP server (read/write/log/etag) for local wiki file operations. |
4. Five Connection Methods (This Vault’s Synthesis)
From connection-methods — each addresses a different layer:
| Method | What It Does | When Applied | Automation |
|---|---|---|---|
| 1. Karpathy Lint | Checks broken links, orphans, contradictions | Post-ingest | Manual (LLM) |
| 2. Wyndo Guardrails | Link cap (5-8), 2+ mentions rule, forward-only linking, edit ceiling (2-5 pages) | During ingest | Procedural (LLM follows rules) |
| 3. Wikilint CLI | Enforces: no orphans, no broken links, no dup slugs, required sections | Post-ingest | Go CLI tool |
| 4. OKF Tolerance | Consumers MUST NOT reject for broken links, missing index, unknown frontmatter | At consumption | Spec baseline |
| 5.5. Typed Relationships | "type" target in ## Relationships; 18 types in _schema.md; validated by wikilint Check 10 | During ingest | Manual + lint check |
| 5. Graph/RAG Layer | LightRAG/HippoRAG/GraphRAG — infer new links at query time | Query time | Software |
This vault uses Methods 1+2+4+5.5 (Karpathy + Wyndo + OKF + Typed). Method 3 (Wikilint CLI) is implemented as scripts/wikilint.ps1.
5. Actionable Takeaways — What This Vault Can Learn
| Lesson | Source Project | How to Apply Here |
|---|---|---|
Explicit backlink index (backlinks.md) | danvega-karpathy-wiki | Add a periodic script to emit machine-readable inbound-link list; enables graph traversal without Obsidian. |
| Typed edges as first-class | rightmemory, rohitg00, cognee | Expand _schema.md relationship types; enforce in ## Relationships on all entity pages (already doing; deepen). |
| EXTRACTED vs INFERRED edge tags | graphify | Adopt visual/tag distinction for inferred vs manual wikilinks — critical for trust. |
| SKILL.md install contract | nowledge-mem | Create a SKILL.md for this vault so agents self-install the correct schema/workflow. |
| Background Intelligence + maintenance ledger | nowledge-mem | Automate link discovery/contradiction detection, but gate writes behind a “maintenance ledger” (human review queue). |
Replace index.md with search MCP at scale | krakiun-llmwiki, geronimo-iia-llm-wiki, qmd | When wiki >100 pages, swap index.md grep for qmd-mcp or krakiun/llmwiki — constant token cost. |
| OKF compliance for portability | atomicstrata-llm-wiki-compiler, truehooha-llm-wiki-skilled | Add resource field + aliases per OKF v0.2; enables cross-tool exchange. |
| Memory lifecycle (confidence, supersession, forgetting) | rohitg00, nowledge-mem | Implement confidence per claim, supersedes/superseded_by frontmatter, retention decay — already in _schema.md and memory-lifecycle. |
| Hybrid search (BM25 + vector + graph) with RRF | rohitg00 (95.2% LongMemEval-S) | Wire scripts/hybrid_query_helper.py into MCP search tool; fuse three streams. |
6. Gaps in This Vault vs Leaders
| Dimension | This Vault | Leaders |
|---|---|---|
| Computable backlinks | Emergent from wikilinks only | Cognee (graph edges), RightMemory (typed), danvega (backlinks.md) |
| Typed edge traversal | Manual in ## Relationships | RohitG (graph traversal queries), RightMemory (multi-agent), Cognee (14 MCP tools) |
| Cross-tool memory | Single vault | Nowledge Mem (15+ hosts), mem0 (universal layer) |
| Auto link discovery | LLM during ingest only | Nowledge Mem (Background Intelligence), Graphify (EXTRACTED/INFERRED) |
Scale past index.md | Not yet | krakiun/llmwiki, geronimo-iia, qmd |
OKF resource + aliases | Uses sources[] only | atomicstrata, TrueHOOHA |
7. Recommended Next Steps for This Vault
- Add
backlinks.mdgenerator (script → periodic) — portable inbound index - Adopt EXTRACTED/INFERRED tag convention on wikilinks — mirror Graphify’s transparency
- Wire
qmd-mcporkrakiun/llmwikiinto MCP server when page count >100 - Create
SKILL.mdat repo root for agent self-onboarding — learn from Nowledge Mem - Implement confidence scoring + supersession per claim (frontmatter + inline) — per RohitG/Nowledge Mem
- Background Intelligence job (cron/Task Scheduler) that proposes new links/contradictions → maintenance ledger for human review
- External link lifecycle pipeline (implemented) — see Section 8 below.
8. External Link Lifecycle Pipeline (Implemented)
Two complementary scripts and MCP tools are now available, following the “capture to raw, gate wiki writes behind an LLM” principle (open-knowledge-format alignment):
| Feature | Script | MCP Tool | Purpose |
|---|---|---|---|
| URL Capture | scripts/capture-external-url.py | capture_external_url | Fetches a URL, converts HTML→Markdown, writes an immutable snapshot to raw/.external-snapshots/<content_hash>.md with provenance frontmatter (source_url, source_type: web, http_status, content_hash, captured_at), then queues it for LLM ingest via raw/.ingest-queue/. Does NOT create wiki pages (Guardrail #10). |
| Link Freshness | scripts/check-external-links.py | check_external_links | Scans all wiki/ pages for Markdown links to https:// URLs (regex, excludes wikilinks and relative paths). Records HTTP status + staleness per URL in wiki/.external-links/ as a per-page JSON and aggregated ledger.json. Does NOT modify wiki pages (Guardrail #15). |
Connection to OKF v0.2: The snapshot frontmatter fields (source_url, source_type, content_hash, http_status) align with OKF v0.2’s expanded sources: object form and trust families. External link status tracking is itself a form of provenance evidence — the link freshness ledger feeds into lifecycle status and stale_after decisions.
Full implementation plan: see docs/plans/external-linking-features-plan.md
8. Implementation in This Vault (2026-07-31)
The gap identified in §6 — “auto link discovery: LLM during ingest only” and the
absence of any external capture path — is now partly closed. scripts/external_links.py
implements two of the six recommendations in §7.
Capture (external_links.py capture <url>) — fetches a URL, writes an immutable
snapshot to raw/external/ carrying source_url, source_type, http_status and
content_hash, then queues it through the existing auto_ingest.queue_file() path so
it lands in the normal ingest review flow. Re-capturing a page whose content changed
writes a new snapshot and preserves the old one — the drift itself becomes
auditable evidence. This is the “freshness sem sobrescrever” model: the compounding
invariant applied to the outside world.
Freshness (external_links.py check) — scans every wiki page for absolute URLs and
classifies each as ok / broken / redirected / changed / unreachable into
wiki/.external-links/ledger.json. wikilint.ps1 Check 14 surfaces dead links as
Tier 3 advisories, so link rot is visible without ever blocking a commit.
Both are exposed as MCP tools (capture_external_url, check_external_links) and
neither can write to wiki/ — enforced by a test, not just by convention.
First run against this vault — 77 external URLs
| Status | Count | Notable |
|---|---|---|
ok | 63 | — |
redirected | 7 | atomicmemory/llm-wiki-compiler → atomicstrata/llm-wiki-compiler; docs.anthropic.com → platform.claude.com |
broken | 6 | The Karpathy gist, the VentureBeat article, and the GenAI Unplugged post — three of this vault’s primary sources |
unreachable | 1 | filtered out as loopback in a later run |
This is the finding that matters. resources presents its URLs as “verified as of
2026-07-15”. Sixteen days later, six of them are dead — including the original
Karpathy gist, preserved locally as raw/articles/karpathy-llm-wiki-gist.md, the origin
artifact of the entire pattern this vault documents. The pages that cite them are not
wrong: their evidence lives in raw/, captured while the URLs were alive. That is
precisely the property Guardrail #11 was written to buy, and this is the first time it
has been demonstrated rather than asserted.
The redirect from atomicmemory to atomicstrata also resolves a discrepancy: both
spellings appear across research notes, and the checker settles which is canonical.
What is still open from §7
Recommendations 1 (backlinks.md), 2 (EXTRACTED/INFERRED tags), 3 (search MCP at
scale) and 6 (Background Intelligence) remain unimplemented. #6 in particular stays
deliberately out of reach: automated link discovery that writes pages would violate
Guardrail #10, and adopting it requires the maintenance-ledger review gate that
nowledge-mem pairs it with.
Sources
9. Sources Consulted
Vault Queries/Pages
- rank-ecossistema-backlinks-relacoes — primary ranking
- connection-methods — five methods matrix
- llm-wiki-vs-memory-and-graph-rag — family positioning
- linking-connections-backlinks-smart-links — connection mechanics
- Entity pages: cognee, rightmemory, nowledge-mem, graphify, rohitg00, atomicstrata-llm-wiki-compiler, danvega-karpathy-wiki, krakiun-llmwiki, geronimo-iia-llm-wiki, mem0, swarmvault, qmd, llm-wiki-mcp
- Concept pages: hipporag, lightrag, model-context-protocol, knowledge-graph, memory-lifecycle
External URLs (Verified)
- Cognee: https://github.com/topoteretes/cognee | Karpathy Wiki: https://github.com/topoteretes/karpathy-wiki
- RightMemory: https://github.com/RightL/RightMemory
- Nowledge Mem: https://mem.nowledge.co/pt-br | SKILL.md: https://mem.nowledge.co/SKILL.md
- Graphify: https://github.com/Graphify-Labs/graphify | https://graphify.net/
- qmd: https://github.com/tobi/qmd
- atomicstrata: https://github.com/atomicmemory/llm-wiki-compiler
- nashsu: https://github.com/nashsu/llm_wiki
- lucasastorian: https://github.com/lucasastorian/llmwiki
- danvega: https://github.com/danvega/karpathy-wiki
- krakiun: https://github.com/krakiun/llmwiki
- geronimo-iia: https://github.com/geronimo-iia/llm-wiki
- mem0: https://github.com/mem0ai/mem0
- HippoRAG: https://github.com/OSU-NLP-Group/HippoRAG
- LightRAG: https://github.com/HKUDS/LightRAG
Related
- rank-ecossistema-backlinks-relacoes — Ranking do ecossistema LLM Wiki por backlinks, relações e geração de novo conhecimento
- connection-methods — Five methods for creating and maintaining wiki connections
- llm-wiki-vs-memory-and-graph-rag — LLM Wiki vs Memory Systems vs Graph RAG
- linking-connections-backlinks-smart-links — How connections work: wikilinks, backlinks, five methods, forward-only linking
- knowledge-graph — Knowledge Graph
- memory-lifecycle — Memory Lifecycle — confidence scoring, supersession, and forgetting for wiki content
- model-context-protocol — Model Context Protocol (MCP)
Provenance
This query was filed on 2026-07-30 following a deep-dive request via synaptic-query. Route classifier returned ambiguous; user selected Main wiki. All claims cite vault pages via wikilinks or raw sources via repository-relative paths. External URLs are labeled as external and not presented as vault evidence.
^[wiki/queries/rank-ecossistema-backlinks-relacoes.md] ^[wiki/comparisons/connection-methods.md] ^[wiki/comparisons/llm-wiki-vs-memory-and-graph-rag.md] ^[wiki/queries/linking-connections-backlinks-smart-links.md] ^[wiki/entities/cognee.md] ^[wiki/entities/rightmemory.md] ^[wiki/entities/nowledge-mem.md] ^[wiki/entities/graphify.md] ^[wiki/entities/rohitg00.md] ^[wiki/entities/atomicstrata-llm-wiki-compiler.md] ^[wiki/entities/danvega-karpathy-wiki.md] ^[wiki/entities/krakiun-llmwiki.md] ^[wiki/entities/geronimo-iia-llm-wiki.md] ^[wiki/entities/mem0.md] ^[wiki/entities/swarmvault.md] ^[wiki/entities/qmd.md] ^[wiki/entities/llm-wiki-mcp.md] ^[wiki/concepts/hipporag.md] ^[wiki/concepts/lightrag.md] ^[wiki/concepts/model-context-protocol.md] ^[wiki/concepts/knowledge-graph.md] ^[wiki/concepts/memory-lifecycle.md] ^[raw/articles/llm-wiki-okf-comprehensive-report-2026.md] ^[raw/articles/denser-llm-wiki-analysis.md] ^[raw/articles/krakiun-llmwiki-rust.md] ^[raw/articles/geronimo-iia-llm-wiki-engine.md] ^[raw/articles/pratiyush-llm-wiki.md] ^[raw/articles/raindrop-second-brain-collection-2026.md] ^[raw/articles/nowledge-mem-docs-2026.md] ^[raw/papers/pesquisa-aprofundada-padrao-llm-wiki.md] ^[raw/papers/hipporag-neurobiologically-inspired-long-term-memory.md] ^[raw/papers/hipporag-2-from-rag-to-memory.md] ^[raw/papers/lightrag-simple-and-fast-rag.md] ^[raw/repositories/osu-nlp-group-hipporag-github.md]