Skip to content

fix: preserve deterministic direction and diff coloring in pair dedup#53

Merged
Zir0-93 merged 1 commit into
masterfrom
fix/preserve-direction-in-pair-dedup
May 25, 2026
Merged

fix: preserve deterministic direction and diff coloring in pair dedup#53
Zir0-93 merged 1 commit into
masterfrom
fix/preserve-direction-in-pair-dedup

Conversation

@Zir0-93
Copy link
Copy Markdown
Member

@Zir0-93 Zir0-93 commented May 25, 2026

Summary

Addresses code review feedback from #52 on the bidirectional arrow deduplication.

The previous pair dedup could:

  1. Render arrows in non-deterministic direction (HashSet iteration order varies across runs)
  2. Pick the wrong diff color when the reverse direction had the added/deleted change (for equal-strength relations like ASSOCIATION/WEAK_ASSOCIATION)

Fix: Added shouldSkipForReverse() that prefers the direction with diff coloring (added/deleted) for accurate change visualization, and falls back to canonical (alphabetical) ordering for deterministic output.

Bumps version to 3.10.2.

Test plan

  • All 195 tests pass (0 failures)
  • Checkstyle clean
  • Full mvn clean package succeeds

🤖 Generated with Claude Code

Address code review feedback on #52: the pair dedup could render
arrows in non-deterministic direction (HashSet iteration order varies)
and pick the wrong diff color when the reverse direction had the change.

Now prefers the direction with diff coloring (added/deleted) for
accurate change visualization, and falls back to canonical
(alphabetical) ordering for deterministic output across runs.

Bumps version to 3.10.2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Zir0-93 Zir0-93 merged commit 5fb87e7 into master May 25, 2026
5 checks passed
@Zir0-93 Zir0-93 deleted the fix/preserve-direction-in-pair-dedup branch May 25, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant