Skip to content

Fix exact indexed file identity for LSP document symbols - #5385

Merged
Widthdom merged 1 commit into
mainfrom
fix-issue5382
Sep 16, 2026
Merged

Widthdom merged 1 commit into
mainfrom
fix-issue5382

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

LSP document-symbol requests could include declarations from a case-colliding or pattern-matching indexed path, corrupting the requested document's hierarchy and ranges. Indexed lookup and the unsupported-live-extraction fallback now apply binary-equal, parameterized indexed-path selection before ordering and candidate limits.

Regression coverage checks case collisions without case-sensitive storage, literal path characters, hierarchy and identifier ranges, framed partial-result parity, and foreign declarations exceeding the materialization limit without displacing local symbols or causing false truncation. Existing live-extraction, cancellation and response-budget coverage remains in the LSP regression run.

Validation

  • New identity regression reproduced the foreign-root failure before the fix.
  • dotnet build — passed.
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --no-restore --filter 'FullyQualifiedName~Lsp|FullyQualifiedName~SearchSymbols' — net8: 253 passed; net9: 251 passed, 2 existing conditional skips.
  • Real CLI indexing followed by initialized Content-Length-framed stdio LSP — indexed and unsupported-live-extraction fallback modes passed the issue reproduction.
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore — passed.
  • dotnet run --project tools/CodeIndex.Changelog -- check — passed.
  • Post-commit root status --check and workspace health checks — passed.
  • Codex adversarial review of origin/main..HEADNo blocking/actionable issues found.

Documentation

Updated both English and Japanese sections of DEVELOPER_GUIDE.md and TESTING_GUIDE.md. Added changelog.d/unreleased/5382.fixed.md; CHANGELOG.md is unchanged.

Fixes #5382

@Widthdom
Widthdom merged commit c77e9cc into main Sep 16, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue5382 branch September 16, 2026 14:40
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.

Use exact indexed file identity for LSP document symbols

1 participant