Goal
Resolve symbols using fully-qualified names (FQN) to eliminate ambiguity in relationships.
Why
Name collisions across modules/classes currently reduce graph accuracy (e.g., same function names in different files).
Scope
- Build deterministic FQN scheme for:
- modules
- classes
- methods
- functions
- attributes
- Resolve calls with context awareness:
- local scope
- class scope
- module imports (best-effort static)
- Track unresolved calls with reason codes for diagnostics.
- Add confidence levels for inferred relationships.
Acceptance Criteria
- Relationship precision improves on fixture projects with collisions.
- Output includes optional diagnostics report (�nalysis_report.md).
- Unit tests cover ambiguous naming and import aliasing scenarios.
Deliverables
- FQN resolver module.
- Extended relationship schema.
- Test fixtures for edge cases.