fix(php): keep inferred references for vendor attributes (#144) - #357
fix(php): keep inferred references for vendor attributes (#144)#357Frankie-Xu wants to merge 1 commit into
Conversation
…hq#144) Co-authored-by: Cursor <cursoragent@cursor.com>
🌱 graft blast radius1 area changed → 3 areas can be affected. 5 dependent symbols, depth 2. flowchart TB
A0(("Graph Building<br/>2 symbols"))
A1(("Pull Request Review<br/>2 symbols"))
A2(("graph<br/>1 symbol"))
classDef reached fill:#D9EDF3,stroke:#3AA7C9,stroke-width:1.5px,color:#0E313C;
class A0,A1,A2 reached;
Who knows this code — 3 people across 4 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 5 dependent symbols, grouped by areaGraph Building — 2 symbols in 2 files
Pull Request Review — 2 symbols in 2 files
graph — 1 symbol in 1 file
Test signal per changed area — 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.
34 test suites also reference this code37 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 the code that changed, and the line that reaches it. |
Summary
references. Targets that only exist viause(#[Route],#[Deprecated]from vendor) were dropped in resolve.ts when the module file is not in the graph.@interface.callersreports nothing for any class or enum #324 / fix: include PHP type usages in reference edges #339).Closes #144
Test plan
use Symfony\...\Routeand no Route class in repo → inferred references edgenode --import tsx --test test/graph-php.test.tsMade with Cursor