Skip to content

Apply deps filters before graph materialization - #4696

Merged
Widthdom merged 5 commits into
mainfrom
fix-issue4619
Jul 20, 2026
Merged

Apply deps filters before graph materialization#4696
Widthdom merged 5 commits into
mainfrom
fix-issue4619

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Push deps exact-symbol, symbol-family, and noise filters into SQLite before graph materialization, ranking, and display limits.
  • Preserve cycle, workspace, cross-database, path-derived, and degraded-output contracts while making long dependency reads cancellable.
  • Bound combined --symbol / --symbol-family input cardinality before opening SQLite.
  • Add repository-scale, filter-ordering, compatibility, degradation, cancellation, and boundary regression coverage.

Root cause

RunDeps materialized and ranked broad dependency candidates before applying symbol and noise filters. Consequently, --limit 1 still processed the repository-wide graph, and SQL pushdown also needed explicit safeguards for SQLite expression depth.

Validation

  • Reproduction query (deps --symbol TryReadUtf8File --limit 1 --json --no-progress): completed in 2.27 seconds (Issue report: 10m37s).
  • Release full suite on the core implementation:
    • net8.0: 9,716 passed, 6 skipped, 0 failed.
    • net9.0: 9,250 passed, 411 skipped, 0 failed.
  • Final Release dependency-focused suite after review fixes:
    • net8.0: 91 passed, 0 failed.
    • net9.0: 90 passed, 1 skipped, 0 failed.
  • Debug and Release solution builds: 0 warnings, 0 errors.
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore.
  • Changelog fragment validation: 80 fragments.

Adversarial review

  • Round 1: three actionable findings; all fixed and regression-tested.
  • Round 2: one actionable filter-cardinality finding; fixed with accepted-maximum and maximum-plus-one tests.
  • The repository workflow maximum of two rounds is complete.

Documentation and changelog

  • Updated the English and Japanese dependency-query documentation in their respective sections.
  • Added changelog.d/unreleased/4619.fixed.md.

Follow-up candidates

  • None.

Fixes #4619

@Widthdom
Widthdom marked this pull request as ready for review July 20, 2026 05:13
@Widthdom
Widthdom merged commit 95c4f97 into main Jul 20, 2026
9 checks passed
@Widthdom
Widthdom deleted the fix-issue4619 branch July 20, 2026 05:13
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.

Apply deps filters before graph materialization and bound resource use

1 participant