Skip to content

Fix discovery JSON shape consistency#4928

Merged
Widthdom merged 2 commits into
mainfrom
fix-issue4835
Jul 27, 2026
Merged

Fix discovery JSON shape consistency#4928
Widthdom merged 2 commits into
mainfrom
fix-issue4835

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Unify symbols and files discovery row serialization across NDJSON, arrays, and envelopes.
  • Keep projected rows in results while preserving exact-readiness and truthful pagination metadata, including empty and summary-only cases.
  • Add .NET 8/.NET 9 contract coverage for projected and unprojected output shapes.

Root cause

The bounded envelope wrapper treated any first discovery JSON object as a nested payload, relocating a flat row into response context. Raw symbol arrays also bypassed the discovery-row builder that adds exact readiness.

Documentation and changelog

  • Updated the English and Japanese output-contract sections in DEVELOPER_GUIDE.md.
  • Added changelog.d/unreleased/4835.fixed.md.

Validation

  • dotnet restore CodeIndex.sln
  • dotnet build CodeIndex.sln -c Release -p:UseSharedCompilation=false
  • dotnet test CodeIndex.sln -c Release -p:UseSharedCompilation=false --no-build (10,517 passed; 7 skipped; 0 failed)
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Release --no-build --no-restore --filter "FullyQualifiedName~JsonEnvelopeWrapper|FullyQualifiedName~QueryCommandRunnerIssue4835Tests" -p:UseSharedCompilation=false (41 passed on each of .NET 8 and .NET 9)
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • Codex adversarial review (two initial findings addressed; final review found no actionable issues)

Follow-up candidates

None.

Fixes #4835

@Widthdom
Widthdom marked this pull request as ready for review July 27, 2026 08:49
@Widthdom
Widthdom merged commit 5578729 into main Jul 27, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4835 branch July 27, 2026 08:49
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.

Keep projected rows and readiness metadata consistent across JSON modes

1 participant