Repository navigation
fix(graph): honor and preserve extension filters - #610
Bortlesboat wants to merge 1 commit into
Conversation
🌱 graft blast radius4 areas changed → 4 areas can be affected. 12 dependent symbols, depth 2. flowchart TB
A0(("Pull Request Review<br/>8 symbols"))
A1(("Workspace Federation<br/>2 symbols"))
A2(("Viewer Build<br/>1 symbol"))
A3(("MCP Server<br/>1 symbol"))
classDef reached fill:#D9EDF3,stroke:#3AA7C9,stroke-width:1.5px,color:#0E313C;
class A0,A1,A2,A3 reached;
Who knows this code — 4 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 12 dependent symbols, grouped by areaPull Request Review — 8 symbols in 6 files
Workspace Federation — 2 symbols in 1 file
Viewer Build — 1 symbol in 1 file
MCP Server — 1 symbol in 1 file
Test signal per changed area — 2 ✓ · 2 ✗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.
40 test suites also reference this code48 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. |
graft build --extensions .gonow limits structural indexing to Go files. Previously the CLI accepted the option but indexed every supported extension. Selections accept dotted, undotted, and mixed-case forms and apply to workspace children as well as single repositories.The selection is saved in graph metadata so checks, query refresh, and Claude background sync retain it across extractor upgrades. Workspace sync preserves each child's own selection, discovers new children, and keeps a parent output override out of child builds. An explicit build without
--extensionsrestores all supported languages. Go module metadata remains available for import resolution.MCP responses disclose active extension selections, including zero-hit results and mixed workspace scopes, so an agent can search excluded files directly.
Fixes #568.
Validation:
npm run buildpasses.npm test: 1,406 passed, zero failed, 10 existing platform skips. Temporary fixtures ran outside an enclosing Git repository.git diff --checkpasses.