Skip to content

CodeNib 0.2.4

CodeNib 0.2.4 fixes the empty MCP server version reported in #779. It also adds an optional source-only grep → Jev route and static publication of precomputed Wiki stories. The existing indexed CodeGraph route remains available.

python -m pip install --upgrade "codenib[graph,mcp]==0.2.4"
codenib --version

Restart your MCP client after upgrading the environment that runs CodeNib. The initialization handshake now reports the installed package version explicitly, including with MCP Python SDK 2.2.0. CLI and MCP version identity are covered by an initialization-handshake regression test.

Search source with your OpenRouter account

The optional grep → Jev route uses a model to plan bounded grep searches, runs ripgrep on your source and asks Jev to rank the matching chunks. Planning and reranking use the same OpenRouter credential. It needs no embedding model, GPU or prebuilt index. The grep extra supplies its own ripgrep executable, including when an agent has not activated the Python environment.

OpenRouter authorization provides S256 PKCE and direct provider exchange. Supported OS keyrings hold local credentials; an explicit private POSIX file fallback is available for headless environments. codenib init can register the source-only MCP route through native Claude Code and Codex commands. Imports reject management keys, and logout distinguishes local removal from provider revocation.

The question and selected code are sent to the configured model providers. The caller pays their OpenRouter usage. Calls are bounded, failures are reported, and paid requests are never retried automatically. Application reported-cost stops are separate from provider-enforced credit limits.

The provider-consent and interactive desktop-unlock acceptance gates remain open. Existing-key transport, isolated native-vault checks and fixture-based authorization tests do not establish those user interactions. These features remain opt-in; they are not a new default-route or token-savings claim.

Publish a Wiki without serving a model

Cached Wiki export publishes precomputed stories, source citations and architecture visuals as static files. Browsing does not generate pages or make model calls. Missing cached content has an explicit unavailable state. Source links retain their published commit, and export preserves the operator's source database.

The existing GitHub Pages workflow now defaults to fast for an index-derived preview without embedding downloads. Story generation and export remain an explicit operator workflow.

An optional browser OpenRouter trial lets a visitor authorize directly with OpenRouter and retrieve ranked source from a bounded public repository service. The browser retains the credential only in memory; the CodeNib source service never receives it. This preview requires a cached story export with an explicit public repository identity. Actual provider consent and production-host acceptance must finish before enabling it on a public deployment.

Reliability and upgrade notes

  • Multiline grep plans and Windows newline handling retain bounded search and source-location checks. Windows ancestor verification permits unrelated sibling changes while still rejecting repository or ancestor replacement.
  • Wiki evidence uses strict JSON and returned-source line bounds. Graph references are validated separately from filesystem source paths.
  • Wiki generation-lock waits are bounded. Cache audits and dry runs use a private snapshot and leave the source database unchanged.
  • The v0.2.3 migration window for legacy agentwiki_*.json caches has ended. Persistence requires an injected WikiStore; existing SQLite Wiki entries remain supported, and legacy files are not deleted. Review the 0.2.3 upgrade notes when coming from v0.2.2.

The retrieval evidence, language matrix and tool comparison describe the measured scope. The historical research result and fresh product evaluation are separate runs; neither is an end-to-end coding-agent token benchmark.