Merge Plan
What It Models
A merge plan is a shared working preview of a proposed combination. It records the selected participants, survivor and answers while the planner derives the values and reference changes that execution would apply.
Identity and Attributes
The plan identity supports returning to the same workspace. Decisions carry their authors, and optimistic versions protect edits. Open-plan reads can persist a refreshed preview and approval hash, so reading is an observable write when underlying data changes.
Relationships
Participants and affiliations remain owned by Entities. Plans describe their proposed treatment and can generate multiple attempts after failure; merge history remains even if a plan is later removed.
Invariants
Database checks constrain participant count, survivor membership and preview/hash pairing. The service additionally enforces distinct selections, version checks, valid answers and execution readiness.
How It Is Stored and Shared
The merges module owns the working row in CRM. Any qualified workspace administrator can access it regardless of creator, and it is excluded from workspace exports. No custom fields are declared.
Open Design Questions
Product still needs to resolve creator-only versus shared editing and whether another administrator’s read renews approval. Implementation must reconcile creation-based expiry and missing cleanup with the approved lifetime and retention rules.