Skip to content

v0.6.1

Choose a tag to compare

@EdmundHee EdmundHee released this 14 Apr 07:11
· 3 commits to main since this release

What's Changed

Dead Code Detection Improvements

  • Fix call-filter prefix stripping: this.get() and self.set() are no longer silently filtered as builtins — user method calls are preserved in the call graph
  • Confidence levels: Dead functions now have confidence: 'high' | 'low' — exported/public functions get low confidence since they may be consumed externally
  • Re-export awareness: Functions re-exported from barrel files (index.ts) are correctly flagged as low-confidence instead of definitive dead code
  • Namespace import resolution: Calls like utils.foo() (from import * as utils) now resolve to the standalone function foo in the reverse call graph
  • Health score consistency: Health penalty now uses only high-confidence dead code, computed via the same detectDeadCode analyzer used by codemap analyze

Cross-Name Function Similarity Detection

  • Multi-signal similarity scoring: New 5-signal weighted comparison (call patterns 35%, param structure 25%, structural shape 15%, call categories 15%, return type 10%)
  • Cross-name detection: Functions with different names but similar behavior are now detected with a 0.6 similarity threshold
  • Smart pre-filtering: Skips comparisons where line count ratio exceeds 2x to avoid noise
  • Distinct recommendations: Structural matches get "Functionally similar" titles with "review and consolidate" action plans, separate from same-name "Deduplicate" recommendations

Stats

  • 25 new tests (335 → 360 total)
  • 0 regressions

Full Changelog: v0.6.0...v0.6.1