Conflict resolution for the #266 merge: #247 had moved PreviewMerge/PreviewMergeSet and MergePreviewSetEntryDto out of ExternalMcpService into MergeMcpTools, so #266's in-place edits to those had to be re-applied at the new location, together with the PreviewMergeSet_ReportsExpectsNoDiffPerTask test.