CKB v9.2.0
Highlights
analyzeOutgoingImpact— new MCP/CLI tool answering "what does this symbol call?" (mirror ofanalyzeImpact). Backed by LIP v2.3.5'squery_outgoing_impactand folded through the sameImpactItempipeline as the incoming side. Degrades cleanly when LIP isn't running.symbolExists— exact-match boolean oracle returning{exists, kind, location?}. Built for LLMs to ground references before citing them, without a 20-resultsearchSymbolsround-trip.renderArchitecture— MCP tool that returns the project's module-level import graph as Mermaid or Graphviz DOT. Decorated with cycle pivots (red), layer violations (dashed), and hotspots (orange).- Cartographer fully synced to upstream 3.0.0 — doc-node graph support, LIP-style
Range/at_rangeonGraphEdge, diagram overlays. Newscripts/sync-cartographer.shfor future syncs; no local patches needed against upstream. - LIP tier-1 callers fold into
analyzeImpact— whenscip-goemits noCallroles (e.g. Go method dispatch), tier-1 tree-sitter callers from LIP are merged into the same direct/transitive lists as SCIP's results, deduplicated by(file, name). Risk score now picks up semantic-coupling signals via the same enricher pipeline. analyzeImpactrisk weighted by bridge centrality — changes on critical architectural paths (high betweenness) now report higher risk than same-shape changes in leaf modules. Multiplier capped at 2.0; surfaces as a newbridge_centralityinformational factor. Requires-tags cartographer.register_project_rooton LIP handshake — Engine now registers the repo root with LIP at startup, matching the v2.3.1 contract. Eliminates URI-shape drift that previously caused tier-1 callers to dedup incorrectly against SCIP.
Fixed
- Vendored Cartographer
rebuild_graphdeadlock —ApiState::rebuild_graphheld themapped_filesMutex across a re-entrant call intoresolve_import_target, deadlocking any project with a resolvable import. Fixed in-tree and contributed back upstream. - Tree-sitter symbol collisions at link time —
libcartographer.apreviously exported its bundled tree-sitter runtime, colliding withgo-tree-sitter(ld: 246 duplicate symbols).make build-cartographernow post-processes the archive to localizets_*/tree_sitter_*while keepingcartographer_*FFI exports global. localize-tree-sitter-symbols.shdropped grammar C parsers —ar xsilently clobbered same-named members across grammar crates. Now feeds the archive directly told -rso every member gets pulled in.
Full Changelog
See CHANGELOG.md for the complete entry.