Skip to content

fix: scale and correct Rust coverage mapping - #712

Draft
cjorge-graphops wants to merge 2 commits into
peteromallet:mainfrom
cjorge-graphops:fix/cache-rust-production-index
Draft

fix: scale and correct Rust coverage mapping#712
cjorge-graphops wants to merge 2 commits into
peteromallet:mainfrom
cjorge-graphops:fix/cache-rust-production-index

Conversation

@cjorge-graphops

@cjorge-graphops cjorge-graphops commented Aug 21, 2026

Copy link
Copy Markdown

Problems

  1. Rust test-coverage import resolution rebuilt RustProductionFileIndex for every use specification. On a 648-production-file / 52-test-file workspace, coverage ran for more than 30 minutes at roughly 53,000 newfstatat calls per second.
  2. Literal include!("path.rs") ownership was absent from the Rust dependency graph and direct-test mapping. Textually included implementation files were reported as zero-importer, untested modules even though they compile inside a directly tested owner.

Fix

  • Cache the immutable production-file index by resolved project root and sorted production scope.
  • Resolve literal Rust source include! edges in the dependency graph.
  • Expand direct-test ownership recursively through literal includes, matching Rust compilation semantics.
  • Add focused cache, graph, and recursive coverage regressions.

Verification

  • Focused Rust/coverage tests: 25 passed.
  • Full suite before the include change: 5,659 passed, 151 skipped; 5 unrelated baseline failures in Bash unused-import and review-prompt tests.
  • Reproduction workspace: coverage completed in about 30 seconds instead of exceeding 30 minutes. Orphaned Rust files fell from 197 to 1, coverage findings fell from 306 to 158, and the full scan completed successfully.

@cjorge-graphops cjorge-graphops changed the title fix: cache Rust production file index fix: scale and correct Rust coverage mapping Aug 21, 2026
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.

1 participant