| name | wiki-lint |
| description | Health-check the project wiki for contradictions, orphans, and sync issues. Use when the user says "lint the wiki" or after several ingests. |
Wiki Lint
Report wiki health issues. Fix only what the user approves.
Checks
Errors (raw layer)
- Frontmatter schema — every file in
raw/ must have type, source, topic, date, status; plus question (llm-chat) or url (web-article). Flag Obsidian-only fields (title, created, tags) without required keys.
- Misplaced raw files —
type: llm-chat (or chat-shaped content) in raw/web/; type: web-article in raw/llm/.
- Invalid filenames — spaces; LLM files not matching
YYYY-MM-DD-<provider>-<topic-slug>.md.
- Ingested but invalid —
status: ingested on files that fail schema or placement checks.
Errors (wiki integrity)
- Missing pages — wikilinks pointing to non-existent pages
- Index sync — pages on disk but missing from
wiki/index.md
Warnings (staleness after multi-source ingest)
- Stale concept pages —
sources frontmatter lists fewer slugs than relevant ingested sources; Divergence/Decision contains _(single source)_, _(pending)_, or outdated single-provider text when 2+ sources exist
- Synthesis gaps — concepts referenced heavily in source pages or index but absent from
evolving-thesis.md wikilinks
- Weak cross-references — related concepts (same source summaries, shared topics) not linked to each other; one-way links where bidirectional is expected
- Low inbound links — concept with ≤1 inbound wikilink from pages other than
index.md
- Unresolved source contradictions — source
## Contradictions still open while a concept Decision documents resolution (e.g. [[wiki-vs-context-engine]])
Info
- Contradictions — conflicting claims across concept pages not yet decided
- Orphan pages — wiki pages with no inbound wikilinks
- Pending raw files —
status: pending in raw/
Steps
- Scan all files in
raw/llm/ and raw/web/ — validate frontmatter, placement, filenames
- Count ingested sources; scan
wiki/sources/, wiki/concepts/, wiki/synthesis/
- Cross-reference concept
sources frontmatter vs actual source pages
- Cross-reference
wiki/index.md and wikilinks across pages
- Check
evolving-thesis.md for links to concepts that appear in 2+ source summaries or have Decision sections
- Report findings with severity (error / warning / info)
- Do not fix unless user approves specific items
- After approved fixes, append to log:
## [YYYY-MM-DD] lint | <N> issues found, <M> fixed
Fix guidance (when user approves)
| Issue | Fix |
|---|
| Schema mismatch | Normalize frontmatter per AGENTS.md; map Obsidian title→topic, created→date |
| Misplaced LLM chat | Move to raw/llm/, rename, update source page raw: path |
| Stale concept | Expand sources, refresh Divergence table, resolve or update Decision |
| Synthesis gap | Add [[concept-slug]] to evolving-thesis.md |
| Resolved contradiction | Add resolution note + wikilink on source page Contradictions |
Output Format
## Wiki Lint Report
### Errors
- Raw frontmatter schema mismatch — `raw/web/foo.md`: Obsidian fields only; missing `type`, `topic`
- Misplaced raw files — `raw/web/bar.md`: llm-chat content in raw/web/
### Warnings
- Stale concept pages — [[context-fragmentation]]: sources frontmatter [chatgpt] only; Divergence says "single source"
- Synthesis gaps — [[multi-pass-distillation]] not linked from evolving-thesis.md
### Info
- ...
### Pending Ingests
- raw/llm/2026-05-24-chatgpt-auth-patterns.md (pending)