feat(git): warn about co-change partners missing from diff and PR - #3074
Open
devin-ai-integration[bot] wants to merge 4 commits into
Open
devin-ai-integration[bot] wants to merge 4 commits into
devin-ai-integration[bot] wants to merge 4 commits into
Conversation
Mine bounded non-merge Git history for files that usually change with a changed file and report the ones absent from the change set on tracedecay_diff_context and tracedecay_pr_context. Bulk commits (>50 files) are ignored and single-file change sets need stronger evidence. Fixes #3015 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
Co-change mining is enrichment: a failed, cancelled, or timed-out read now reports co_change_unavailable instead of refusing diff/PR context. The Git subprocess observes request cancellation and deadline, and paths stay as bytes so unrelated non-UTF-8 names do not abort the read. Also rebuild the embedded ChatGPT extension server bundle. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts: # plugin/chatgpt-extension/embedded/server.mjs
This branch has not been deployed
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.
Git history now identifies missing companion edits in diff and PR context—for example, a schema change without its usual migration. The existing
co_change_partnerscontract is preserved:fileis the changed anchor,partneris its missing companion, andtogetheris their shared commit count.Fixes #3015
The canonical Git co-change miner now applies coupling thresholds (3 shared commits / 50% for multiple changed files; 5 / 75% for one), skips commits touching over 50 files, and checks that companions still exist in the selected tree. Mining remains bounded to 1,000 commits within 18 months and eight returned partners. It supports project subdirectories and native Git path bytes, cancellation, and request deadlines. PR context mines history through the merge base and checks file existence at the PR head.
Diff context and all PR-context result variants use the same miner. Unavailable history produces typed
co_change_unavailablemetadata while preserving available graph context. The duplicate branch-local miner and incompatible response fields were removed; the TypeScript SDK and embedded extension were regenerated from canonical contracts.Validation on the merged source:
match_boolwarning inhandlers/analysis/hotspots.rs:73, unchanged from the merged master revision. Its correction is owned by the master refresh. Full workspace tests were not run locally.