v0.3.0 — Optional compiled graph layer + upgrade flow
Pages can now declare typed graph: metadata in frontmatter (predicate, source-page slug, evidence quote, confidence, status). A bundled extractor compiles every page into wiki/graph/{nodes.jsonl, edges.jsonl, graph.sqlite, graph.graphml}. Markdown stays canonical — the graph can be deleted and rebuilt at any time.
What's new
- Optional graph layer. Typed semantic edges (
founded,proposed,depends_on, …) require an explicit source and evidence quote — the extractor never invents them. Body wikilinks become low-confidencementionsedges; frontmattersources:lists becomesourced_from; source pages'raw:fields becomesummarizes_raw. - Three new scripts (require PyYAML; existing four remain stdlib-only):
wiki_graph_extract.py— compile pages → JSONL + SQLite + GraphML, deterministic and sortedwiki_graph_lint.py— validate typed edges againstwiki/graph/ontology.yamlwiki_graph_query.py—neighbors,edges,path,factsqueries againstgraph.sqlite
/wiki:graph <action>slash command dispatching to extract/lint/neighbors/edges/path/facts./wiki:ingest,/wiki:lint, and/wiki:querywire the graph step in conditionally — only whenwiki/graph/ontology.yamlexists./wiki:upgradeslash command +init_wiki.py --upgradeflag for wikis bootstrapped under v0.2.0. Idempotent file ops plus a walked SCHEMA.md merge — one section at a time, per-edit approval, never silent.references/graph-workflow.mdwith full reference: ontology, frontmatter schema, when to add a typed edge vs a plain wikilink, the extract/lint/query loop, generated-artifact tracking, anti-patterns.
Upgrading
- From an older Claude Code install:
/plugin marketplace updatethen/plugin install llm-wiki@llm-wiki. - Existing wiki: run
/wiki:upgrade(orpython skills/llm-wiki/scripts/init_wiki.py . --upgradefrom the CLI). - Other agents:
npx skills update llm-wiki, or re-run the originalnpx skills add praneybehl/llm-wiki-plugin -a <agent>. - Pre-graph wikis remain fully valid — the graph layer is opt-in. New scripts no-op when
wiki/graph/ontology.yamlis absent; existing scripts and slash commands behave identically when no page carriesgraph:metadata. - The graph scripts require PyYAML (
pip install pyyaml). The existing four scripts are still stdlib-only.
Full notes: see CHANGELOG.md.