Skip to content

Fix unused analysis for partial-class handlers and field-like symbols #3673

@Widthdom

Description

@Widthdom

Found while dogfooding the locally built cdidx on branch codex/search-audit-issues-20260619.

Duplicate check: no open issue found for unused partial class false positives MCP handlers constants fields kind function.

Evidence:

  • cdidx unused --json --exclude-tests --visibility private flags src/CodeIndex/Mcp/McpToolDefinitions.cs:17 HandleToolsList and large MCP handlers such as src/CodeIndex/Mcp/McpToolHandlers.cs:3814 ExecuteBatchQuery.
  • It also reports field-like symbols such as private constants and readonly fields with kind: "function", for example src/CodeIndex/Mcp/McpServer.cs:160 MaxLimit.

Problem:
These look like likely false positives or metadata-shape issues in unused, especially around partial classes and C# field/constant classification.

Acceptance criteria:

  • Teach unused analysis to resolve references across partial class files reliably.
  • Emit accurate symbol kinds for C# constants/fields/properties in unused output.
  • Add regression tests that keep active MCP handlers from being reported as unused.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcodex

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions