Initial wiki scaffold
47b5d7f6f2b0 wikihub 2026-04-12 6 files
47b5d7f6f2b0f6c29f464cd02ee01fccc8aca6c1
new file mode 100644
index 0000000..8ad04bd
@@ -0,0 +1,16 @@
+# wikihub ACL — declarative access control for this wiki.
+#
+# Rules are glob patterns. Most-specific pattern wins. Default is private.
+#
+# Visibility: private | public | public-edit | unlisted | unlisted-edit
+# Grants: @user:read | @user:edit
+#
+# Examples:
+# * private # everything private (the default)
+# wiki/** public # publish the wiki/ subtree
+# wiki/secret.md private # override: this one stays private
+# wiki/collab.md public-edit # anyone can edit this page
+# drafts/** unlisted # accessible by URL, not indexed
+#
+
+* private
new file mode 100644
index 0000000..fe67e93
@@ -0,0 +1,7 @@
+# connection-playbook
+
+catalog of all wiki pages. update on every ingest.
+
+## pages
+
+(none yet)
new file mode 100644
index 0000000..cec6fb8
@@ -0,0 +1,3 @@
+# log
+
+append-only record. format: `## [YYYY-MM-DD] type | title`
new file mode 100644
index 0000000..e69de29
new file mode 100644
index 0000000..ec1a14a
@@ -0,0 +1,90 @@
+# 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
+
+```yaml
+---
+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:
+1. read source → identify entities (people, topics, projects)
+2. for each entity: check if wiki page exists (read index.md first)
+3. if exists: update compiled truth, append timeline entry with date and source
+4. if new: create page with compiled truth + first timeline entry
+5. **add inline wikilinks to related pages as you write** — this is the critical step
+6. update index.md with the new page
+7. 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:
+1. read index.md to find relevant pages
+2. read those pages and synthesize an answer
+3. 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
+4. 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`
new file mode 100644
index 0000000..e69de29