feat(build): wire Jedi enrichment into builds; fix impact-accuracy benchmark - #823
Open
B1ZZ211 wants to merge 2 commits into
Open
feat(build): wire Jedi enrichment into builds; fix impact-accuracy benchmark#823B1ZZ211 wants to merge 2 commits into
B1ZZ211 wants to merge 2 commits into
Conversation
…nchmark - full_build and incremental_update now run Jedi call-resolution enrichment after the other resolvers. Best-effort: skipped without the [enrichment] extra or with CRG_DISABLE_ENRICHMENT=1; stats surface as result['jedi_enrichment']. - jedi_resolver: rebase resolved target paths onto the repo root as given to full_build, so enriched CALLS edges match stored node qualified names (fixes /var vs /private/var mismatches). - impact_accuracy: normalize changed-file paths to the stored absolute form so seed/neighbor/flow lookups hit; count File-node-sourced (module-level and IMPORTS_FROM) edges as neighbor files. - tests: full_build/incremental_update wiring regression tests and the co-change mock guard.
…chment - Remove 'harness needs fixing' note (co-change mode now works) - Clarify why published eval CSVs show predicted_files=0 (non-code seeds) - Update limitations section to reflect working co-change mode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR wires the
[enrichment]extra (Jedi call-resolution) into the build pipeline and fixes the co-change benchmark mode that was always returningpredicted_files = 0.Changes
Core wiring (
code_review_graph/incremental.py)_run_jedi_enrichment(store, repo_root)— best-effort wrapper matching the resolver patternfull_build(always) andincremental_update(when Python files changed)result["jedi_enrichment"](e.g.{"resolved": 5, "files": 1})CRG_DISABLE_ENRICHMENT=1(keeps watch mode cheap on large repos)Bug fix in
code_review_graph/jedi_resolver.pyfull_build(not force-resolved)/varvs/private/varsymlink mismatches where enriched edges never matched stored node qualified namesBenchmark fix (
code_review_graph/eval/benchmarks/impact_accuracy.py)0on every commit)_graph_neighbor_filesnow counts File-node-sourced edges (IMPORTS_FROM, module-level calls) as neighbor filesTests (
tests/test_incremental.py,tests/test_eval.py)test_full_build_wires_jedi_enrichment— verifies wiring + stats surfacetest_full_build_jedi_enrichment_skips_when_disabled— opt-out workstest_incremental_update_wires_jedi_enrichment— runs only on Python changespredicted_files > 0andtrue_positives >= 1for co-changeVerification
Jedi enrichment: resolved 5 calls in 1 filesNotes
[enrichment]extra (jedi>=0.19.2) — optional, skipped gracefully