fix(codegraph): bump the lci-codegraph pin to pick up both extraction fixes - #596
Merged
Merged
Conversation
… fixes Repoints the git dependency at the renamed repository (vymalo/codegraph -> vymalo/lci-codegraph, so it matches the crate name it publishes under) and bumps the pinned rev to 287d590. That rev carries two behaviour fixes to the indexer's extraction path, both of which affect this workspace's live indexing: - Rust trait methods declared without a default body were extracted by nothing — no graph node AND no chunk — so a trait interface contributed zero callable symbols to either retrieval surface. They are now definitions, but deliberately not call targets: letting a declaration compete with its own implementation for the name would have made every single-impl trait method call ambiguous, and this resolver drops ambiguous calls rather than fanning out. - The binary/NUL guard was bypassed on the graph-enabled walk, the path this workspace actually runs, so raw NUL bytes reached chunk content. PostgreSQL's `text` type rejects the NUL codepoint outright, so that failed at persist time far from its cause. Docs updated to match: ROADMAP now records the defects as fixed rather than open, and notes the one still open upstream (the same ambiguity in the Java tags path, found by adversarial review of the fix). Verified: cargo build --workspace --locked, cargo test --workspace --exclude control-plane --locked, cargo fmt --check, cargo clippy --workspace --all-targets -D warnings, xtask dependency-hygiene. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
✅ AI Governance check passedThis PR declares AI usage, references a source of truth, and provides verification evidence. Thank you. |
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.
1. Summary
This PR changes:
lci-codegraphgit dependency at the renamed repository —vymalo/codegraph→vymalo/lci-codegraph, so the repo name matches the crate name it publishes under03aa2b4to287d590, picking up two behaviour fixes to the extraction pathROADMAP.md,docs/adr/0086, anddocs/indexing-and-storage.mdto record the defects as fixed rather than openIt solves:
2. Intent
The intent of this PR is:
3. Scope
In Scope
services/agent-runner/Cargo.toml, plus the resultingCargo.lockchangeOut of Scope
services/agent-runner/src/indexer/graph.rsis untouched; the crate's public API is unchanged.indextask; the fixes apply to future indexing runs, not retroactively. Worth knowing that trait symbols will not appear for a repo until it is re-indexed.tags.scmpath — confirmed pre-existing, not a regression, tracked as Java interface methods: single-impl calls are dropped as ambiguous (the tags-path twin of #1) vymalo/lci-codegraph#5. Not fixed here; the ROADMAP records it as open.4. Verification
I verified this change by:
Commands run:
Results:
Lockfile resolves to the new URL and rev:
Upstream verification for the pinned rev: CI green on all 8 jobs including the Docker-backed container suites (Neo4j round-trip, glibc + musl build, pinned real-world repository clones), coverage 95.40% lines. Both fixes carry regression tests, and the two tests that previously asserted the buggy behaviour were inverted rather than deleted.
5. Screenshots / Evidence
Add evidence here:
6. Risk Assessment
Risk level:
Potential risks:
:Symbolnodes and additional chunks, so a trait-heavy repository yields more nodes and more embedding calls per index run. That is the point of the fix, but it is a real cost and volume change.graph_find_symbolcan now return two nodes for one method name (the declaration and its implementation) where it previously returned one. A consumer assuming uniqueness by label would see a behaviour change.indextask, so the two retrieval surfaces will disagree with a freshly-indexed repo for a while.Mitigation:
03aa2b4.7. AI Usage Declaration
AI was used for:
Human verification:
Both upstream bugs were independently reproduced with a minimal driver before any code changed, and the upstream fix was put through an adversarial review that drove the public API against fixtures on both branches — which is how the remaining Java issue (#5) and a missing
WalkStatscounter were found.8. Reviewer Focus
Please focus your review on:
Specifically:
indexer/graph.rs? It has none, and never did — the golden lives upstream. A rev bump could in principle compile cleanly and still change the emitted graph, and nothing here would catch it.