Repository navigation
Preserve declaration coordinates and reuse saved graph reachability - #140
Merged
Merged
Conversation
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.
Compiled method debug locations can identify executable instructions rather than declaration headers. This change preserves those locations and adds separate declaration coordinates with a raw source hash. Kotlin metadata names prevent binding JVM-renamed functions to unrelated source headers. Plain and compact snapshots retain the new facts; saved queries continue to work without source files. Ambiguous, synthetic, implicit-constructor, and incomplete header matches remain omitted.
Repeated MCP queries reuse reachability for their fixed snapshot. The cache belongs to one snapshot session, and complete responses are checked against uncached queries and an independently installed release.
Validation: JVM suite 1,329 tests with zero failures (23 environment skips), 90% coverage gate, final affected index/export/CLI suites, CLI/agent contracts, 44-retained/4-reportable Android fixture oracle, self-analysis budget, and 40 required compiler-position integrations with zero skips passed. GLM and Claude reviews were adjudicated against executable synthetic cases.
A fixed synthetic saved graph was queried in seven alternating resident-session pairs against the independently installed 0.20.0 release. Each session used 30 warmups and 50 timed queries; complete tool responses and an independent adjacency/reachability oracle agreed. The median paired query-time ratio was 0.600 (95% paired bootstrap interval 0.570–0.639), and sampled session peak RSS ratio was 0.642 (0.608–0.662). Tool artifacts and input hashes were unchanged during measurement. This is an own-release control; external PSI/index-store superiority is not claimed.