Java interface dispatch: resolving s.area() in a code graph
Shape s = ...; s.area() produced no edge in CGraph, because the name was ambiguous. How interface dispatch resolves it, the overload regression it caused, and what it costs.
Shape s = ...; s.area() produced no edge in CGraph, because the name was ambiguous. How interface dispatch resolves it, the overload regression it caused, and what it costs.
CGraph listed Kotlin as a supported language while extracting zero symbols from it. The cause was a tree-sitter grammar with no named fields — and what finally measured it.
Your AI agent claims it updated every call site. blastline check queries a code graph for what still references the symbol, with file:line evidence — and refuses to certify.
CGraph now extracts Rust — structs, traits, functions, and call edges including method calls — via a pinned tree-sitter grammar, with honest v1 limits.
Every CGraph answer is stamped with a merkle content root of the indexed source, and reads can pin that root — so a stale index errors instead of lying.
A safe-refactoring workflow on a real repo: pin the node with query, size the blast radius with impact, explain surprise dependents with path — before editing.
How CGraph keeps a code graph current as you edit: content-hashed fold-ins within a couple of seconds, and why a branch switch becomes one full rescan.
Which MCP tools does your coding agent actually use? CGraph records every daemon op in a ledger; cgraph stats rolls up counts, latency, and zero-hit rate.
Checkpoint a coding session into the code graph and recall it after /clear or a daemon restart. How CGraph stores durable, code-linked memory that never pollutes retrieval.
Layer prose, concepts, and design intent onto a deterministic code graph — without the binary ever calling an LLM. How CGraph plans chunks and merges host-authored semantic fragments.
Fuse per-repo code graphs into one queryable cross-service graph: declare the wire contract, anchor it to real code, and trace blast radius across services.
A localhost socket is still a trust boundary. How four latent bugs in CGraph's resident daemon survived a green test suite, and what fixing them looked like.
RAG for code: how CGraph gathers a neighborhood around a symbol and packs it into an LLM token budget with a knapsack, returning an inspectable result.
Code graphs, LSP, and ctags answer different questions about a codebase. A decision guide to when each one wins, and where the three usefully overlap.
CGraph extraction is deterministic: the same tree yields the same graph. That makes a code graph diffable in CI with the one-shot CLI and plain diff tooling.
CGraph writes the same code graph in six shapes — JSON, HTML, SVG, an Obsidian vault, Cypher, and a call-flow view. Here is when to reach for each export.
Find the blast radius of a code change in one query. CGraph keeps a resolved graph warm in a daemon, so "what breaks if I change this?" returns in about 10ms.
CGraph parses 11 languages with vendored tree-sitter grammars, then resolves imports, calls, and relations into one deterministic code graph. Stage by stage.
CGraph is an open-source code-intelligence engine that builds a queryable graph of any repository — a self-hosted alternative to proprietary code-search and analysis tools.