Built with graphify_compare.py, a script wrapping graphify's own extract → cluster-only → benchmark → explain pipeline into one page. View graphify on GitHub ↗

graphify · mapping its own core library

The whole thing, and what actually stays in memory

Real output from running graphify on graphify: tree-sitter AST, code-only, no API key. Not a mockup — the graph below, and the numbers next to it, come straight out of this run.

Left is the entire thing, force-directed and clickable. Right is what an assistant would actually load into context to answer one question about it.

Full graph

graphify-out/graph.html
2,053 nodes· 4,052 edges· 124 communities· 80 source files
EXTRACTED — explicit in source (89%) INFERRED — resolved by graphify (11%)
24.1×
fewer tokens per query, vs. reading the raw corpus
corpus, naive read~136,866 tok
avg. scoped query~5,680 tok

Reduction by question

"what connects the data layer to the api"
63.6×
"what is the main entry point"
34.5×
"how are errors handled"
23.5×
"what are the core abstractions"
12.7×

What gets loaded, per question

graphify explain
$ graphify explain "_read_text()"
Node: _read_text()
Source: extractors/base.py L65
Community: _read_text
Degree: 82
 
Connections (82):
 <-- _collect_js_symbol_resolution_facts() [calls] INFERRED
 <-- _ts_walk_class_members() [calls] INFERRED
 <-- _js_extra_walk() [calls] INFERRED
 <-- _require_imports_js() [calls] INFERRED
 <-- _java_method_receiver_types() [calls] INFERRED
 <-- _java_receiver_type_name() [calls] INFERRED
… 76 more edges — the node and its neighborhood, nothing else
v1.1