Skip to content

Explain candidate languages for ambiguous file extensions #4901

Description

@Widthdom

Summary

Ambiguous .M lookup returns only ambiguous_m, hiding Objective-C/MATLAB candidates, evidence, and disambiguation guidance.

Audit IDs: G-35. Reproduced with locally built cdidx v1.40.3 at 404db09489c305f17d94f37026e00564d3ac527a.

Existing issue relationship

Follow-up to closed #4612's ambiguous-language detection work.

Expected behavior and PR scope

Return ordered candidate languages, detector evidence/rules, and explicit override guidance from the same detector used during indexing. Keep this to ambiguity diagnostics/catalog output.

Implementation guide for Codex 5.6 sol xhigh

  • Expose candidate IDs/display names, confidence/evidence, content/path rules, and case behavior structurally.
  • Ensure a real indexed file reports the selected language plus the same reason vocabulary.
  • Cover .M/case variants, empty/binary/content-signaled files, explicit overrides, aliases, CLI and MCP.
  • Avoid duplicating detection logic in the diagnostic layer.
  • Add focused regression/contract tests, run the full net8.0 and net9.0 suite, and add the required bilingual changelog.d/unreleased/ fragment.

Acceptance criteria

  • .M lists Objective-C and MATLAB candidates with guidance.
  • Diagnostic and actual indexing decisions agree.
  • Automation can choose/override using structured fields.

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETPull requests that update .NET codedocumentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions