Skip to content

CKB v9.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Apr 06:38
3de7223

Highlights

  • analyzeOutgoingImpact — new MCP/CLI tool answering "what does this symbol call?" (mirror of analyzeImpact). Backed by LIP v2.3.5's query_outgoing_impact and folded through the same ImpactItem pipeline 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-result searchSymbols round-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_range on GraphEdge, diagram overlays. New scripts/sync-cartographer.sh for future syncs; no local patches needed against upstream.
  • LIP tier-1 callers fold into analyzeImpact — when scip-go emits no Call roles (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.
  • analyzeImpact risk 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 new bridge_centrality informational factor. Requires -tags cartographer.
  • register_project_root on 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_graph deadlockApiState::rebuild_graph held the mapped_files Mutex across a re-entrant call into resolve_import_target, deadlocking any project with a resolvable import. Fixed in-tree and contributed back upstream.
  • Tree-sitter symbol collisions at link timelibcartographer.a previously exported its bundled tree-sitter runtime, colliding with go-tree-sitter (ld: 246 duplicate symbols). make build-cartographer now post-processes the archive to localize ts_* / tree_sitter_* while keeping cartographer_* FFI exports global.
  • localize-tree-sitter-symbols.sh dropped grammar C parsersar x silently clobbered same-named members across grammar crates. Now feeds the archive directly to ld -r so every member gets pulled in.

Full Changelog

See CHANGELOG.md for the complete entry.