The underlying petgraph uses Undirected while relationships (calls, imports, inherits) are directed. Directionality is preserved in the Edge struct but requires manual filtering for traversals.
Proposal
Evaluate switching to a directed petgraph or dual representations. Benchmark on:
- Neighbor lookup speed (upstream vs downstream)
- Shortest path accuracy
- Memory usage
- Louvain clustering quality
Acceptance
- Performance benchmarks comparing directed vs current
- Decision documented with rationale
- If switching, no test regression
The underlying petgraph uses Undirected while relationships (calls, imports, inherits) are directed. Directionality is preserved in the Edge struct but requires manual filtering for traversals.
Proposal
Evaluate switching to a directed petgraph or dual representations. Benchmark on:
Acceptance