Add AST call handoff and LSP graph enrichment pipeline#809
Conversation
a42afa8 to
a31b60a
Compare
|
This is a well-engineered addition — the two-stage architecture (AST records 1. LSP failure should degrade gracefully (must fix) 2. Zombie processes on LSP client shutdown (must fix) 3. Once these three are addressed we'll merge. Great work on this one. |
|
@safishamsi done |
|
@safishamsi any more changes required? |
|
Excited to see this PR — I've been using graphify on a mixed Python + C++ monorepo (~50k+ files) and the INFERRED edge noise has been the single biggest pain point for automated analysis. Really appreciate both the project and what you've built here; this is exactly the right architecture IMO (AST surfaces the unresolved call sites, LSP resolves them with confidence). A couple of things I was curious about:
Happy to contribute a clangd wiring patch or the pruning logic as a follow up PR if it would help move this forward. |
|
Language support is intentionally open-ended. Core graphify should emit unresolved callsites and consume resolver evidence; the actual resolver can be anything external. The bundled The only graphify-side bits that might be needed for clangd are small: make sure C/C++ unresolved callsites include On pruning old On columns: |
Thanks a ton! |
AST finds unresolved calls, optional LSP hooks try to resolve them, and only boringly safe evidence gets promoted back into the graph. No more turning every
first,map, oridinto a fake god node. Hooks are opt-in, cached, documented, and wired.