fix(lsp): enrich all supported languages in polyglot repos - #391
cookerpapa wants to merge 1 commit into
Conversation
🌱 graft blast radius2 areas changed → 6 areas can be affected. 16 dependent symbols, depth 2. flowchart TB
A0(("Pull Request Review<br/>8 symbols"))
A1(("Graph Freshness<br/>3 symbols"))
A2(("CLI Engine<br/>2 symbols"))
A3(("Viewer Build<br/>1 symbol"))
A4(("MCP Tools<br/>1 symbol"))
AX(("1 smaller area<br/>1 symbol"))
classDef reached fill:#D9EDF3,stroke:#3AA7C9,stroke-width:1.5px,color:#0E313C;
class A0,A1,A2,A3,A4 reached;
classDef tail fill:#EEF2F3,stroke:#9AA4A9,stroke-width:1px,color:#3A4247;
class AX tail;
Who knows this code — 3 people across 8 areas
Ownership is git history over each area's own files, weighted towards recent work (120-day half-life). Merge commits and bots are dropped, and you are dropped from your own PR. A name with no All 16 dependent symbols, grouped by areaPull Request Review — 8 symbols in 6 files
Graph Freshness — 3 symbols in 2 files
CLI Engine — 2 symbols in 2 files
Viewer Build — 1 symbol in 1 file
MCP Tools — 1 symbol in 1 file
Claude Sync — 1 symbol in 1 file
Test signal per changed area — 1 ✓ · 1 ⚠Reached = a node under a test path has a resolved edge into the changed symbol. It undercounts anything called indirectly — through a CLI, a spawned process or a dynamic import — so read a low ratio as “look here”, never as a coverage gate.
33 test suites also reference this code41 symbols, kept out of the diagram and the table so they cannot crowd out the areas a reviewer has to look at.
Open the interactive graph → — click an area to see its dependent symbols at file:line. |
In a mixed C/Python repo, server selection stops at clangd, so pyright never runs.
Select the first installed server per language and run each selected server once, restricted to its own source files. Continue after failed initialization, share edge deduplication and a repo-wide node budget, and report all attempted servers.
Refs #376. This addresses server selection only. Retaining LSP edges across pre-query refreshes remains a separate issue.
Validation on Linux: