fix(graph): resolve C# namespace imports in impact traversal and bare-endpoint evidence (#310, #792)
C# using directives produce IMPORTS_FROM edges whose target is the raw namespace string, never a file path. PR #353 added a namespace fallback for importers_of only, leaving two paths broken: - get_impact_radius returned 0 impacted files/nodes for changed .cs files: neither impact engine could traverse namespace-targeted edges. Both engines now seed the changed C# files' declared namespaces (from the File node's csharp_namespaces extra) as bridge seeds; the namespace strings have no node rows so they never surface in results. - _resolve_bare_endpoints only accepted import evidence keyed by file path, which C# never emits, so bare CALLS targets and TESTED_BY sources stayed unresolved. tests_for returned 0 for all C# nodes and detect_changes reported covered code as Untested. The resolver now maps namespace-string import targets back to the files declaring those namespaces and adds them as import evidence. End-to-end regression tests cover importers_of, both impact engines, TESTED_BY resolution, tests_for, and detect_changes gap classification on a multi-file C# fixture with an NUnit-style test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FmPUotoqsNWWt3b41FMjwv
T
Tirth Kanani committed
a7b47537027b679d54177661f7e65ed6214fc731
Parent: f88f26e