Adds claim-level source-range provenance, a first-class schema layer for typed page kinds, configurable provider request timeouts, and a slug-based wikilink format that resolves reliably in Obsidian. See CHANGELOG.md for the full entry.
Highlights
Claim-level provenance (#22)
- Citations can pin specific lines:
^[paper.md:42-58](colon form) or^[paper.md#L42-L58](GitHub anchor form) - Mixed multi-source markers like
^[a.md, b.md:1-3]work too - Legacy paragraph form
^[paper.md]continues to work unchanged - Lint flags out-of-bounds spans, malformed entries, line
0, and reversed ranges
Schema layer (#23)
.llmwiki/schema.json|yaml|ymldeclares page kinds (concept,entity,comparison,overview), per-kindminWikilinks, and seed pages- New commands:
llmwiki schema init,llmwiki schema show schema-cross-link-minimumlint rule enforces per-kind link expectations- Seed pages generated during compile (and on the early-return path)
- Review-mode candidates carry
schemaViolationssurfaced byreview show
Configurable timeouts (#25)
LLMWIKI_REQUEST_TIMEOUT_MS— provider-agnosticOLLAMA_TIMEOUT_MS— Ollama-specific override- Defaults raised: 30 minutes for Ollama (was inheriting 10 from the OpenAI SDK default), 10 minutes preserved for OpenAI
Slug-based wikilinks (#15)
- Index, MOC, and the in-body resolver now emit
[[slug|Title]]so Obsidian targets the file directly regardless of slug/title divergence
Infrastructure
- Subprocess CLI test helpers (
runCLI,expectCLIExit,expectCLIFailure,formatCLIFailure) capture full diagnostics so flakes surface their root cause without rerunning vitest globalSetupbuilds dist once so parallel workers don't race ontsup --clean- Tests grew from 291 to 391
Contributors
Thanks to @ludevica for #15 and @BenGSt for reporting #11.
Install
npm install -g llm-wiki-compiler@0.4.0