Tracked every same-named definition instead of first occurrence only - #4
Merged
Conversation
The engine kept one def per bare name, so two same-named methods in a file collapsed into an ambiguity note and the untouched twin shadowed real changes. FunctionMap now holds all defs per name and diffing aligns each group by content: exact body match first, positional pairing of leftovers. Identity survives impl-block moves, so the qualified-key regression stays fixed.
Adversarial review caught two real bugs in the first cut: ours adding a same-named overload while theirs edited the original flipped a clean merge to High/Blocked, and add/add divergence drifted off the old conflict message. Divergence now requires both sides to mutate existing defs; pure additions stay unilateral. Rename/rename swallow and row swapping on count asymmetry are logged in TODO.md as known friction.
Re-review caught the residual case: ours' addition appearing verbatim inside theirs' additions still fabricated a High conflict because the convergent check demanded exact set equality. Subset containment in either direction is now clean; only disjoint additions conflict.
Third review pass caught one more false High: both branches converging on the same body while one also kept an extra copy read as divergent. When neither side deleted anything, stripping shared defs must leave at most a one-sided remainder to stay clean. Shared deletions keep the old convergent path.
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.
PR made by x-preview-f from opencode on behalf of Kriday.
Two same-named methods in one file (say
hiton two Go receivers) used to collapse into a vague ambiguity note, and the untouched twin could hide real changes. The engine now keeps every definition and matches them by content before pairing leftovers.Summary :
Ready For Review !!