Summary
Persist and query resolved target symbol identity so common names do not merge unrelated methods, languages, classes, and test/source files.
Current v1.38.0 evidence / reproduction
impact Run --exact-name --max-hops 2 --with-paths --limit 3 --json mixes C# methods with a Python run and misattributes path roots.
callers Run --exact-name --json reports false self/mutual recursion and false cycles between unrelated Run methods.
deps --path src/CodeIndex/BoundedFile.cs --limit 10 --json creates unrelated source/test dependencies through common names such as Dispose, Seek, and ReadWrite.
Impact
Impact analysis, dependency boundaries, cycle detection, and refactoring decisions can be fundamentally incorrect.
Suggested direction / acceptance criteria
- Persist a resolved target symbol ID/key on reference edges where resolution is unambiguous.
- Include container, qualified name, signature, language, project, and file scope in resolution.
- Preserve ambiguous edges as explicitly unresolved candidates instead of silently merging them.
- Add cross-language and same-name regression fixtures for dependencies, impact, callers, and recursion.
Dogfooding candidate IDs: Q016, Q017, R002. Verified against cdidx v1.38.0 at commit 2919bfc9b1b83cfa7ae1d964845d0f9ffca002d1.
Summary
Persist and query resolved target symbol identity so common names do not merge unrelated methods, languages, classes, and test/source files.
Current v1.38.0 evidence / reproduction
impact Run --exact-name --max-hops 2 --with-paths --limit 3 --jsonmixes C# methods with a Pythonrunand misattributes path roots.callers Run --exact-name --jsonreports false self/mutual recursion and false cycles between unrelatedRunmethods.deps --path src/CodeIndex/BoundedFile.cs --limit 10 --jsoncreates unrelated source/test dependencies through common names such asDispose,Seek, andReadWrite.Impact
Impact analysis, dependency boundaries, cycle detection, and refactoring decisions can be fundamentally incorrect.
Suggested direction / acceptance criteria
Dogfooding candidate IDs: Q016, Q017, R002. Verified against cdidx v1.38.0 at commit
2919bfc9b1b83cfa7ae1d964845d0f9ffca002d1.