Skip to content

fix(indexer): resolve 4 dead-code/hub false-positive sources - #18

Merged
Eilodon merged 1 commit into
mainfrom
claude/dead-code-false-positives-lboozu
Jul 4, 2026
Merged

fix(indexer): resolve 4 dead-code/hub false-positive sources#18
Eilodon merged 1 commit into
mainfrom
claude/dead-code-false-positives-lboozu

Conversation

@Eilodon

@Eilodon Eilodon commented Jul 4, 2026

Copy link
Copy Markdown
Owner
  • Preserve the module-path qualifier of fully-qualified calls (crate::mod::func()) instead of discarding it, and use it in rebuild_graph to prefer the named module over same-file-as-caller fan-out. Fixes qualified calls silently misresolving to an unrelated same-named symbol in the caller's own file (in the worst case a fabricated self-recursive edge) when there's no use importing the real target.

  • Filter ambiguous-confidence and ruled_out_by_scip edges out of the persisted symbols.caller_count, matching the callers tool's own direct_count semantics. Previously every same-named candidate in an ambiguous fan-out group inflated caller_count near-identically regardless of real usage, corrupting hub/coreness ranking and dead_code_confidence. Also refresh caller_count again after the SCIP overlay pass, since it flips the very columns this filter depends on.

  • Extract TypeScript interface_declaration/type_alias_declaration as symbols. A type/DTO-only .ts file previously indexed as 0 symbols, making it invisible to search/locate/file_overview.

  • Carry line_start/line_end through hotspots' top_symbols, so two same-named symbols in one file (e.g. a #[cfg(feature)] real impl vs. its stub) are distinguishable, matching symbol_info's existing behavior.

Claude-Session: https://claude.ai/code/session_01AHXruzGoMCTypCxhsoeuXf

- Preserve the module-path qualifier of fully-qualified calls
  (crate::mod::func()) instead of discarding it, and use it in
  rebuild_graph to prefer the named module over same-file-as-caller
  fan-out. Fixes qualified calls silently misresolving to an unrelated
  same-named symbol in the caller's own file (in the worst case a
  fabricated self-recursive edge) when there's no `use` importing the
  real target.

- Filter ambiguous-confidence and ruled_out_by_scip edges out of the
  persisted symbols.caller_count, matching the callers tool's own
  direct_count semantics. Previously every same-named candidate in an
  ambiguous fan-out group inflated caller_count near-identically
  regardless of real usage, corrupting hub/coreness ranking and
  dead_code_confidence. Also refresh caller_count again after the SCIP
  overlay pass, since it flips the very columns this filter depends on.

- Extract TypeScript interface_declaration/type_alias_declaration as
  symbols. A type/DTO-only .ts file previously indexed as 0 symbols,
  making it invisible to search/locate/file_overview.

- Carry line_start/line_end through hotspots' top_symbols, so two
  same-named symbols in one file (e.g. a #[cfg(feature)] real impl vs.
  its stub) are distinguishable, matching symbol_info's existing
  behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AHXruzGoMCTypCxhsoeuXf
@Eilodon
Eilodon merged commit 37ab72d into main Jul 4, 2026
2 of 3 checks passed
@Eilodon
Eilodon deleted the claude/dead-code-false-positives-lboozu branch July 4, 2026 14:25
Eilodon pushed a commit that referenced this pull request Jul 4, 2026
PR #18 merged without running cargo fmt, breaking the Format check
step in CI on main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants