diff --git a/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs b/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs index 661d761..a278d31 100644 --- a/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs +++ b/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs @@ -222,9 +222,13 @@ spec = do let ids = collectAllIdentities reconciled in length ids === length (Set.fromList ids) - -- Full Merge support with element deduplication is implemented in Phase 4 it "each identity appears at most once after reconciliation (Merge)" $ - pendingWith "Full Merge with element deduplication is Phase 4 (User Story 2)" + property $ \(pattern :: Pattern Subject) -> + case reconcile (Merge UnionElements defaultSubjectMergeStrategy) pattern of + Left _ -> property True -- Error case doesn't apply + Right reconciled -> + let ids = collectAllIdentities reconciled + in length ids === length (Set.fromList ids) describe "Determinism Properties" $ do it "reconciling the same pattern twice gives identical results (LastWriteWins)" $ diff --git a/specs/031-pattern-reconciliation/spec.md b/specs/031-pattern-reconciliation/spec.md index cee7a6f..7121669 100644 --- a/specs/031-pattern-reconciliation/spec.md +++ b/specs/031-pattern-reconciliation/spec.md @@ -2,7 +2,7 @@ **Feature Branch**: `031-pattern-reconciliation` **Created**: 2026-01-23 -**Status**: Draft +**Status**: Implemented (2026-02-12) **Input**: User description: "Pattern Subject reconciliation as described in proposals/pattern-reconciliation.md" ## Clarifications