Skip to content

Fix Markdown dependency noise evidence - #4964

Merged
Widthdom merged 3 commits into
mainfrom
fix-issue4868
Jul 29, 2026
Merged

Fix Markdown dependency noise evidence#4964
Widthdom merged 3 commits into
mainfrom
fix-issue4868

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • classify dependency edges with provenance, reference kind, target kind, and reference-count evidence
  • suppress legacy Markdown heading-name fanout without hiding explicit Markdown path links
  • preserve structured symbol samples for comma-containing links and bound workspace-cycle candidate aggregation
  • expose reference before/after totals and suppression reasons in JSON and JSON-graph output

Root cause and impact

Legacy Markdown heading references were ranked and filtered as ordinary symbol-name matches, so dense heading fanout could dominate dependency and cycle results. The dependency payload also flattened sampled symbols into a comma-delimited string, which made a valid comma-containing Markdown target ambiguous during later filtering and ranking.

The updated dependency pipeline distinguishes heading-derived evidence from explicit links, removes only the heading-derived counts, and keeps retained evidence ahead of candidate limits. Workspace-cycle aggregation now keeps bounded retained/suppressed buckets instead of accumulating every database-pair result.

Validation

  • dotnet format CodeIndex.sln --verify-no-changes --no-restore
  • dotnet build CodeIndex.sln -c Release --no-restore — 0 warnings, 0 errors
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Release --no-build --filter Issue4868 — 6 passed on both .NET 8 and .NET 9
  • relevant dependency/JSON regression filter — 92 passed on .NET 8; 91 passed and 1 known performance-test skip on .NET 9
  • broad DbReaderTests / RunDeps regression filter — 700 passed on .NET 8; 699 passed and 1 known performance-test skip on .NET 9
  • dotnet run --project tools/CodeIndex.Changelog -- check — 38 fragments validated
  • local cdidx status --check --jsonindex_matches_workspace: true
  • Codex adversarial review completed in two rounds; all actionable findings were addressed

Documentation and changelog

Updated the English and Japanese dependency contracts in README.md, USER_GUIDE.md, and DEVELOPER_GUIDE.md.

Changelog fragment: changelog.d/unreleased/4868.fixed.md

Follow-ups

None identified within this issue scope.

Fixes #4868

@Widthdom
Widthdom marked this pull request as ready for review July 29, 2026 01:33
@Widthdom
Widthdom merged commit dc0b157 into main Jul 29, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4868 branch July 29, 2026 01:33
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.

Teach deps noise suppression about Markdown heading explosions

1 participant