Releases: JanYork/llm-wiki-cli
Release list
lwc v0.14.7
LWC v0.14.7 is a reliability release for checkpoint recovery and binary installation. It keeps canonical Wiki state, generated Markdown, and the document graph synchronized after a restore, and makes recovery failures explicit and retryable instead of leaving derived state silently stale.
Highlights
Projection-safe checkpoint restore
lwc checkpoint restorenow queues observable document-graph Work after canonical recovery and returns its identifier asgraph_work.- Full projection reconciles both restored documents and stale graph keys, so nodes introduced after the checkpoint are removed and
lwc graph verifyreturns clean. - Graph-disabled projects keep the existing no-projection behavior.
Atomic recovery safeguards
- Checkpoints are prepared and validated in a private temporary database before live state changes.
- Restore records its canonical operation in the candidate database before publication, preventing a malformed or read-only checkpoint from partially replacing the live Wiki.
- A pre-restore safety checkpoint is created automatically, and a live revision guard rejects concurrent writes instead of overwriting them.
- SQLite busy/locked states have a bounded deadline and return a retryable
database_busyerror rather than waiting indefinitely. - Temporary candidates are cleaned up with handle-safe ordering and are never exposed as user checkpoints.
- Checkpoints created with non-default SQLite page sizes remain restorable.
Actionable partial-failure reporting
- Markdown materialization and graph projection are attempted independently after canonical restore.
- If either derived projection cannot be completed, the error states that canonical recovery succeeded, includes the safety checkpoint, and provides scope-correct recovery commands.
Installer reliability
- The npm installer now applies a 30-second timeout to each GitHub asset request.
- Transient download failures are retried twice with bounded exponential backoff.
- Final errors preserve the underlying HTTP, timeout, or transport cause.
- Archive selection and checksum verification remain unchanged.
Work lifecycle coverage
- Release tests now exercise a real document-graph Work through cancel, terminal
cancelled, resume, terminalsucceeded, and finalgraph verify.
Compatibility
- No intentional breaking CLI or Wiki schema changes.
- Existing checkpoints, Wiki databases, Agent integrations, document graphs, and CodeGraph indexes remain compatible.
- This release supersedes v0.14.6 for checkpoint restore workflows; users of document-graph checkpoints should upgrade.
Install and upgrade
Shell installer:
curl --proto '=https' --tlsv1.2 -fsSL \
https://github.com/JanYork/llm-wiki-cli/releases/latest/download/install.sh | shnpm:
npm install --global @i-xor/lwc@0.14.7Refresh installed Agent integrations after upgrading:
lwc agent refresh --target auto --location globalAll native archives are covered by the published SHA256SUMS; both installers verify the selected archive before installation.
Verification
The release candidate passed:
- Rust formatting and Clippy with warnings denied.
- The full Rust suite: 378 passed, 0 failed, with 4 opt-in performance benchmarks ignored by design.
- npm and Agent integration contracts: 14 passed, 0 failed.
- Release-mode installation from the repository.
- A real checkpoint create, post-checkpoint mutation, graph projection, restore, Work watch, canonical deletion check, and clean
graph verifyflow. - Dynamic Codex, Claude Code, and Pi lifecycle Hook checks plus the standard read-only LWC MCP handshake.
- Final adversarial review of checkpoint atomicity, temporary-file ownership, Windows handle ordering, retry bounds, recovery scope, and npm timeout behavior.
GitHub Actions additionally builds, tests, packages, and smoke-tests native archives for x86_64 and arm64 macOS, glibc Linux, and Windows before publishing the Release.
Full changelog: v0.14.6...v0.14.7
LWC v0.14.6
LWC v0.14.6 makes Agent integration a first-class, host-aware capability. It introduces one LWC MCP surface for durable memory and CodeGraph exploration, adds strong installation adapters for 12 Agent targets, and keeps every managed integration idempotent and precisely removable.
Highlights
Unified LWC MCP
- Adds the standard stdio entry point
lwc serve --mcp. - Exposes bounded, read-only LWC memory exploration through one MCP server.
- Routes code-graph requests through LWC to the project-scoped CodeGraph child process, so users configure
lwc, not a separatecodegraphMCP server. - Enforces workspace boundaries, request and output limits, timeouts, protocol recovery, and side-effect-free missing-index behavior.
Host-aware Agent installation
lwc agent install now uses a common AgentTarget contract with hand-written adapters for:
- Claude Code
- Codex
- Cursor
- OpenCode
- Hermes
- Gemini CLI
- Antigravity
- Kiro
- GitHub Copilot for VS Code
- GitHub Copilot CLI
- GitHub Copilot for JetBrains
- Pi
Each adapter installs the official surfaces supported by its host: MCP configuration, Skills, lifecycle Hooks, global or project Instructions, plugins/extensions, and permissions where applicable. Capability gaps remain explicit when a host does not provide a corresponding official mechanism.
Installation supports automatic detection, global or project scope, non-interactive defaults with --yes, pure configuration preview with --print-config, idempotent refresh, migration from LWC-owned legacy entries, and exact uninstall without overwriting user edits.
lwc agent install
lwc agent install --yes
lwc agent install --print-config codex
lwc agent statusProactive memory guidance
- Ships complete
using-lwcSkills covering core memory, document and code graphs, word graph, strong-context tags, document conversion, activation timing, Agent onboarding, and recovery. - Hooks can provide bounded strong context and readiness guidance at native lifecycle events.
- First-use guidance detects missing Wiki, graph, converter, and Agent integration readiness without silently enabling optional capabilities.
- Routine project commands use the current directory directly;
LWC_PROJECT_ROOTis reserved for intentionally targeting another project boundary.
CodeGraph integration
- Reuses one pinned CodeGraph runtime from the global cache while keeping indexes project-local.
- Fuses LWC-owned CodeGraph MCP and instruction surfaces into the LWC integration.
- Preserves native Windows paths and guards workspace/index boundaries.
Reliability fixes
- Sparse Changeset lint now evaluates the live Wiki plus the staged delta transactionally, eliminating false dangling-link and search-index failures for tag-only changes without mutating live state.
- Changeset conflict and inverse-patch fingerprints now treat provenance as an order-independent set, preventing unchanged multi-provenance pages from being rejected during commit.
- Work commands now honor
--changeset, so graph Work returned by a draft can be listed, inspected, watched, cancelled, and resumed through the same draft selector. - Drafts inherit project-local graph and converter configuration while keeping Work queues and graph sidecars isolated per Changeset; parallel drafts can no longer observe or overwrite each other's derived state.
- First-time graph projection now builds the complete draft baseline before applying document increments, so live Sources remain present in draft verification.
- Changeset rollback now queues and returns observable graph Work, including retry-safe recovery after Markdown materialization failures, and leaves
graph verifyclean. - Tracked source paths now merge as live revisions, remap concurrent source-ID allocations across unrelated live writes, preserve page citations, and restore the previous path head and graph projection exactly on rollback.
- Commit and rollback recovery persist their graph document sets, so retrying after a Work-queue failure requeues the missing projection; legacy commit records safely fall back to a full projection.
- Sparse inverse patches remain checksum-compatible with earlier 0.14.x payloads while adding exact page, source-path, and inbound-link rollback guards.
- Sparse rollback preserves pre-existing dangling Wiki links, detects only genuine inbound-link conflicts, and no longer depends on page restoration order.
- Draft runtime paths reject symlink substitution before canonical mutations, safely recreate runtime directories for pre-0.14.5 drafts, and clean up exactly on commit or discard.
- The Viewer keeps scripts and style elements CSP-restricted, permits only the fixed style hashes/attributes required by the bundled 3D renderer, and strips
styleattributes from rendered Wiki Markdown. - Tag-only Changesets stage only a lightweight page reference and Tag membership instead of copying page bodies, links, sources, provenance, and search rows.
- Refresh now tracks accessory files introduced after an older manifest was created, so future refresh and uninstall remain complete.
- Agent installation preserves foreign content, detects ownership conflicts before writes, and keeps uninstall snapshots across upgrades.
- Linux and macOS integration tests now validate their platform-specific VS Code MCP locations.
- The sparse tag-only regression closes its inspection connection before commit, allowing the same release test to pass under Windows file-lock semantics.
Compatibility and upgrade notes
- No intentional breaking CLI or Wiki schema changes.
- Existing Wiki data and project-local CodeGraph indexes remain compatible.
- Agent integrations created by older LWC versions can be upgraded with
lwc agent refreshor an idempotentlwc agent install. - Official binary archives are published for x86_64 and arm64 macOS, glibc Linux, and Windows.
- MarkItDown, AnyDoc, document graph, and CodeGraph remain optional and are not enabled without configuration or initialization.
Install
curl --proto '=https' --tlsv1.2 -fsSL \
https://github.com/JanYork/llm-wiki-cli/releases/latest/download/install.sh | shAfter the npm package is published:
npm install --global @i-xor/lwc@0.14.6All native archives are covered by the published SHA256SUMS; the shell and npm installers verify the selected archive before installation.
Verification
The release gates cover formatting, Clippy, the full Rust test suite, Viewer tests/type checking/build reproducibility, npm packaging, installer contracts, all AgentTarget round trips, Hooks, LWC MCP protocol and boundary behavior, Windows CodeGraph path forwarding, six native release targets, archive checksums, and post-release npm-installer smoke testing.
Full changelog: v0.13.5...v0.14.6
lwc v0.13.5
LWC v0.13.5 expands the Agent-facing memory workflow with optional document conversion, bounded word-level exploration, reusable CodeGraph installation, strong-context tags, and reversible Agent integrations.
Highlights
- Markdown conversion adapters:
lwc transcan use Microsoft MarkItDown or Firecrawl AnyDoc. Both adapters are opt-in, disabled by default, and configured through normal LWC configuration without persisting secrets in command output. - Bounded word graph: the Viewer can explore shared terms across documents without loading the full high-density token graph. Search, pagination, and hard limits bound documents, spans, tokens, nodes, edges, and response size.
- One global CodeGraph runtime:
lwc cg initreuses a single pinned runtime from the global cache and creates only project-local indexes. This release also fixes Windows extended-path forwarding that previously caused valid project files to be rejected as path traversal. - Agent integration installer:
lwc agent installdetects installed Agent hosts, supports global or project scope, writes bounded instruction blocks and MCP configuration, installs supported hooks/plugins, and provides idempotent refresh plus precise uninstall. - Strong Wiki tags: prioritized tags provide deliberate full-page context loading through commands such as
lwc load tag "operations" --limit 3. Autoload policies make mandatory rules available to lifecycle hooks without turning ordinary search into an unbounded context load.
Agent integrations
First-class bundles are included for Codex, Claude Code, and Pi. Portable instruction and MCP output keeps the installer usable for other Agent hosts instead of limiting the feature to those three products.
lwc agent install --yes
lwc agent install --print-config codex
lwc agent statusInstall and refresh operations are idempotent. Generated instruction sections use boundary markers so updates and uninstall remove only LWC-owned content.
Agent guidance now invokes the globally installed lwc command directly. The current directory is the project boundary by default; LWC_PROJECT_ROOT is reserved for intentionally targeting a different project.
Document conversion
Conversion remains off until explicitly configured. LWC forwards the reviewed adapter configuration at execution time and preserves its existing external-source and output-path safety checks.
lwc trans docs/report.docx --output out/report.mdMarkItDown and AnyDoc remain optional external runtimes; installing LWC does not install or enable either converter automatically.
Graph performance and safety
The word graph is query-driven rather than eagerly materialized into the browser. Server-side caps are enforced even when a client requests larger values. CodeGraph continues to keep one index per project while sharing only the pinned runtime globally.
The release acceptance suite covers bounded 10,000-document word/tag workloads, project isolation, repeat initialization, Windows path forwarding, Agent install/refresh/uninstall, adapter timeouts and error handling, and Viewer request limits.
Compatibility
- No intentional breaking CLI changes.
- Existing Wiki data is migrated through the normal guarded Work lifecycle.
- Markdown conversion and graph capabilities remain disabled until configured or initialized.
- Release binaries are published for x86_64/aarch64 macOS, glibc Linux, and Windows.
- CodeGraph cache and index paths are now built from native path components on Windows, including Windows ARM.
- Windows converter discovery now supports
.exe,.cmd, and.batshims fromPATH, including npm-installed AnyDoc launchers.
Upgrade
curl --proto '=https' --tlsv1.2 -fsSL \
https://github.com/JanYork/llm-wiki-cli/releases/latest/download/install.sh | shOr with npm after the package is published:
npm install --global @i-xor/lwc@0.13.5All binary archives are accompanied by SHA256SUMS. The installer verifies the selected archive before installation.
Full changelog
lwc v0.12.1
lwc v0.12.1
-
Replace the read-only viewer graph with an Obsidian-inspired 3D experience, bilingual English/Chinese chrome, persistent labels, and bounded scrolling.
-
Harden project-scoped CodeGraph forwarding, repeated init/index behavior, lifecycle blocking, and external-path rejection.
-
Teach the bundled using-lwc Skill to recommend and proactively use CodeGraph while preserving consent, freshness, and evidence boundaries.
-
Keep graph updates document-granular and verify Grafeo and SurrealDB release performance budgets.
-
Make concurrent Work completion idempotent so graph updates cannot leak transient active-marker deletion as io_error.
lwc v0.12.0
Replaces legacy physical graph engines with Grafeo and SurrealDB, integrates project-local CodeGraph, adds the read-only Lit viewer, fixes documented migration and graph issues, and enforces document-granular mutations.
lwc v0.11.0
Replace RSLG and GraphQLite with opt-in Grafeo and SurrealDB graph engines. Make graph work document-granular, freeze historical revisions, fix migration and Work recovery failures, expand the using-lwc guide, and add the @i-xor/lwc npm package.
lwc v0.10.2
Minimal entity-scoped graph refresh, sparse Changesets, and asynchronous Work execution.
Highlights:
- Refreshes only touched documents, spans, graph entities, term pairs, and projections.
- Removes whole-database Changeset snapshots and checkpointing from normal writes.
- Moves graph projection, migration, and maintenance work off foreground Agent commands with durable progress.
- Bounds pathological term co-occurrence expansion for oversized tables and generated content.
- Detaches Windows Work output handles so foreground callers return immediately.
- Coalesces concurrent cross-process derived-artifact refreshes behind a narrow artifact-only lock.
Opening a v10 Wiki for writing still migrates it to schema v11. Back up the Wiki before upgrading.
lwc v0.9.1
Fixes large-WAL schema migration stalls and makes long-running maintenance observable and nonblocking.
Highlights:
- Constant-time SQLite header preflight; a 416 MiB WAL no longer blocks the foreground command.
- Durable schema-migrate and maintenance work with status, watch, cancel, resume, heartbeat, phase, count, and percentage progress.
- v10 to v11 migration rebuilds co-occurrence and canonical digest once for the complete corpus instead of once per document.
- Transactional cancellation, concurrent-open recovery, symlink-safe work state, and complete initial generation/delta verification.
Compatibility:
Maintenance commands now return a work object immediately. Use lwc work status or lwc work watch, then read work.result after state is succeeded.
Validation:
- 213 tests passed with all features
- 213 tests passed with no default features
- Clippy with denied warnings and formatting passed
- 416 MiB WAL preflight regression passed
- 100-document release migration completed in 0.38 seconds
- Cargo package verification passed
lwc v0.9.0
LWC v0.9.0 introduces a deterministic hierarchical knowledge fabric over the canonical
SQLite Wiki.
Highlights
- Deterministic Markdown-aware Document → Passage → Sentence → Term hierarchy
- Exact versioned UTF-8 span locators with stale-span detection
- Direct document, passage, sentence, and mixed-granularity search
- Bounded span parent/sibling/child context expansion
- Typed canonical knowledge graph with generation and complete deltas
- Exact occurrence frequency, positions, and first-position evidence
- Bounded weighted term co-occurrence with compact incremental totals
- Graph node, neighbors, explore, path, impact, overview, status, and verify commands
- Provenance-rich semantic relation set/list/retract lifecycle
- Layered built-in/global/project graph configuration
- RSLG and pinned GraphQLite 0.6.0 physical backends
- Incremental GraphQLite projection, fail-closed stale reads, and idempotent recovery
- Transactional schema v10 → v11 migration
- Full changeset, deletion, FTS, graph, and projection synchronization
- Native release validation on six macOS, Linux, and Windows targets
Compatibility
Default document-level search behavior remains compatible. Passage, sentence, mixed
retrieval, grouping, and graph operations are explicitly enabled.
Important upgrade note
Opening a v10 Wiki for writing migrates it transactionally to schema v11. LWC v0.8.0
cannot read a migrated v11 Wiki. Back up the Wiki before upgrading.
Benchmark
On the locked 100-document / 30-sample release benchmark:
- 100 KiB canonical replacement: 1,275 ms
- GraphQLite incremental projection: 75 ms
- Graph overview net p95: 162.5 ms
- Other search/traversal net p95: below 48 ms
- Canonical storage amplification: 3.76x
Validation
- 210 all-feature tests passed
- 210 no-default-feature tests passed
- Formatting and warning-denied Clippy passed
- GraphQLite probe and package verification passed
- Native build, test, smoke, archive, and checksum jobs passed on all six release targets
lwc v0.8.0
Atomic Wiki Changesets make multi-command Agent updates reviewable before publication, atomic at commit, and reversible as one guarded unit.
Highlights
- Stage a complete project or global Wiki update in an isolated SQLite changeset while the live Wiki and Markdown projection remain unchanged.
- Preview the draft through existing
context,search,lint, source, page, graph, purpose, schema, and retrieval-weight commands. - Publish all canonical tables in one guarded transaction with stable store identity and revision conflict detection.
- Discard an unpublished draft without touching live state, or roll back an accepted changeset by its exact ID while no later live mutation exists.
- Recover safely after process interruption, materialization, cleanup, or WAL checkpoint failures. A commit attempt freezes its draft so retries cannot silently discard newly staged work.
Safety and compatibility
- Existing commands behave as before when
--changesetis omitted. Project and global scopes remain isolated;--scope allcannot mutate a changeset. - Existing v0.7 Wikis migrate transactionally to schema v10 on first writable open. Immutable sources, page/source IDs, retrieval state, history, and Markdown authority are preserved.
- Commit rejects empty drafts, stale live or draft revisions, foreign store identity, unsafe paths, and lint failures unless reviewed pre-existing debt is explicitly acknowledged with a reason.
- There is intentionally no force commit, automatic merge/rebase, selective inverse undo, long-lived daemon transaction, or second draft Markdown tree.
- Rollback is revision-guarded and refuses to overwrite valid work created after the changeset commit.
Verification
- 169 Rust tests passed with zero failures; one opt-in local benchmark remained excluded from normal test runs.
- Formatting, clippy with warnings denied, locked release build, 11 installer tests, release-workflow contract tests, and local Agent Skill policy/bootstrap checks passed.
- Fault injection covers transaction boundaries, process interruption before and after publication, active readers, concurrent writers, cleanup/materialization recovery, symlink boundaries, invalid checkpoints, and idempotent retry.
- A retained real-document regression suite preserved test nDCG@10 at
0.816229, Recall@100 at0.94, and identical Top-10 results for all 72 queries across five runs. This is local regression evidence, not a public retrieval leaderboard. - Release publication remains gated by successful tests and builds for x86_64/aarch64 macOS, glibc Linux, and Windows, followed by combined SHA-256 checksums.
Upgrade
curl -fsSL https://raw.githubusercontent.com/JanYork/llm-wiki-cli/v0.8.0/install.sh | sh
lwc --versionThe installer downloads the matching platform archive, verifies it against SHA256SUMS, and replaces only the CLI binary. Existing global and project Wiki data remains in place and is migrated transactionally when opened.
Before upgrading a critical Wiki, keep a normal filesystem backup or create an LWC checkpoint. Do not downgrade a Wiki after it has been opened by v0.8.0 unless a compatible backup is restored.