Repository navigation
Fix incremental skill evidence and distinguish reads from searches - #2842
Merged
Merged
Conversation
A partition can hold two copies of one edge id until compaction folds them. The merge replaced the id with whichever copy it saw last, then dropped every copy, so evidence held only by the other copy was lost. Fold each copy into one replacement row instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Final review (R2) at d0f62fd: LOW, clean.
|
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
A session that first read a skill file and later requested the skill could keep only the original evidence because projection skipped existing edge IDs. Merge later skill evidence into the existing relationship while preserving earlier evidence during partial source scans.
Distinguish file reads (
dispatch_file_read) from searches (dispatch_shell_search). Display skill relationships as evidence, with explicit request/read/search labels, rather than implying execution withran. Keep olddispatch_shell_readflags visibly unverified until an explicit full-sourcegraph project --refreshreplaces them. Skill and File nodes already coexisted; this does not introduce duplicate nodes.Includes regression coverage through projection, storage, SQL, and neighbor rendering; updates query guidance and adds LLP 0564. The broader experimental parser is not included.
Validation
context_graph_projects_rowssmoke passes.squirrelingversions in unmodified Parquet-query files; no errors remain in changed files.dispatch_shell_readflags removed, 348 skill relationships preserved, 156 carrying file-read evidence and two also carrying search evidence.Performance and rollout
No new dependencies. Shell operands are parsed once per action and cached only for the current source row. Existing skill relationships require an additional streaming edge-table scan; changed relationships require a conditional partition rewrite. Unchanged evidence does not rewrite partitions. Server-scale performance has not been measured.
Default projection merges evidence without removing old flags. Historical label cleanup requires an explicit full-source refresh. A daemon restart alone does not replace the flags. No server deployment or remote backfill has been performed.