Entity Pages
Per-entity detail pages at /knowledge/[entityId] — notes, neighbors, backlinks, and source links.
Entity Pages
Every node on the knowledge map has a corresponding detail page at /knowledge/[entityId]. It's the stable URL you can share, bookmark, or link to from blog posts.
What's on the page
| Section | Source |
|---|---|
| Title + source URL | Entity metadata (falls back to the arXiv URL when sourceUrl is empty) |
| Notes | Obsidian-flavored Markdown from the backend knowledge proxy — YAML frontmatter is stripped before render |
| Neighbors | 8 k-NN entities ranked by embedding similarity, linked to their own pages |
| Backlinks | Entities whose notes mention this one via wikilinks |
| Copy markdown | Button that copies the rendered Markdown for pasting into Obsidian, Notion, etc. |
URL shape
Entity IDs are URL-safe slugs. Common patterns:
| Prefix | Meaning | Example |
|---|---|---|
repo- | GitHub repository | /knowledge/repo-benzsevern-goldencheck |
paper- | arXiv / research paper | /knowledge/paper-2024-bpid-benchmark |
dataset- | Kaggle / UCI dataset | /knowledge/dataset-nc-voter-registration |
concept- | Topical cluster (c-TF-IDF) | /knowledge/concept-fellegi-sunter |
Deep-linking from the map
Every entity page links back to the map with the ?focus query param:
/knowledge?focus=repo-benzsevern-goldencheck
The map pans + selects the dot on mount. Useful for "show me where this sits in the graph" links from blog posts.
Rendering pipeline
Notes come from the backend as raw Obsidian Markdown. Before rendering:
- YAML frontmatter stripped — the
--- title: ... ---block is removed to avoid showing metadata twice - Wikilinks converted —
[[repos/X/note|X]]→/knowledge/repo-Xper the wikilinks doc - Code blocks highlighted — via
rehypeHighlight
Markdown components are currently duplicated between /knowledge/[entityId] and /audit/[id]. If we grow a third surface, they should get extracted to a shared <MarkdownNote> component.