schema
this wiki uses the LLM wiki pattern. the LLM incrementally builds and maintains a persistent, interlinked knowledge base. knowledge is compiled once and kept current, not re-derived on every query.
three layers
raw/ — immutable source documents. articles, transcripts, notes, data. the LLM reads from raw but never modifies it. this is the source of truth.
wiki/ — LLM-maintained compiled pages. summaries, entity pages, concept pages, comparisons. the LLM owns this layer entirely — creates pages, updates them when new sources arrive, maintains cross-references, keeps everything consistent. you read it; the LLM writes it.
schema.md (this file) — tells the LLM how the wiki is structured, what conventions to follow, and what workflows to use. you and the LLM co-evolve this over time.
page format
every wiki page has two layers:
- compiled truth (above the
---divider): current best understanding, rewritten freely when evidence changes - timeline (below the
---divider): append-only evidence trail with dates, never edited after writing
the compiled truth is a living synthesis. when new evidence arrives, rewrite it. the timeline is an immutable log — only append, never edit.
frontmatter
---
title: Page Title
type: topic | person | project | idea | source-summary
visibility: public
tags: [area1, area2]
sources: [raw/meeting-2026-04-10.md, raw/article-link.md]
---
wikilinks
inline wikilinks are the most important thing you do. they are what makes this a knowledge graph instead of a folder of notes.
- weave links into prose naturally:
[[mark-khrapko|Mark]] mentored him on [[hiring|hiring philosophy]] - link on first mention only per section
- use display text:
[[hiring-philosophy|hiring philosophy]]not[[hiring-philosophy]] - cross-category links are the most valuable (person↔topic, project↔idea, experience↔reflection)
- every page should have at least 2 outbound links
- no 'see also' sections — if it's not worth mentioning in prose, it's not a connection
- conservative: better to miss a link than create a wrong one
operations
ingest
when processing a new source:
- read source → identify entities (people, topics, projects)
- for each entity: check if wiki page exists (read index.md first)
- if exists: update compiled truth, append timeline entry with date and source
- if new: create page with compiled truth + first timeline entry
- add inline wikilinks to related pages as you write — this is the critical step
- update index.md with the new page
- append to log.md:
## [YYYY-MM-DD] ingest | Source Title
a single source might touch 10-15 wiki pages. that's normal.
query
when answering questions:
- read index.md to find relevant pages
- read those pages and synthesize an answer
- if the answer is valuable, file it back into the wiki as a new page — explorations should compound in the knowledge base, not disappear into chat history
- append to log.md:
## [YYYY-MM-DD] query | Question summary
lint
periodically health-check the wiki. look for:
- contradictions between pages
- stale claims that newer sources have superseded
- orphan pages with no inbound links
- important concepts mentioned but lacking their own page
- missing cross-references
- data gaps that could be filled with new sources
append to log.md: ## [YYYY-MM-DD] lint | Summary of findings
index.md
the index is a catalog of every page in the wiki. each entry has a link, a one-line summary, and optionally metadata like date or source count. organized by category. the LLM reads the index first when answering queries to find relevant pages. update it on every ingest.
log.md
append-only chronological record. every entry starts with ## [YYYY-MM-DD] type | title so it's parseable with simple tools. types: ingest, query, lint, update.
source tracking
every fact should be traceable. use sources: frontmatter to list which raw files contributed to a page. timeline entries cite their source: **2026-04-10** (from meeting-notes.md): key insight here