Let applications apply their own merge changes
Context
Atomic merging must also respect each application’s write ownership.
Decision
Application-owned planning and apply functions are discovered from the database catalogue and run inside CRM’s merge transaction; missing required functions block planning and raised apply errors abort execution.
Alternatives Considered
Maintain a separate participant registry. A second inventory could disagree with installed functions and grants.
Write application tables from CRM. This would couple CRM to storage owned by other applications.
Consequences
Participants implement their own database functions. The owner-deletion safety check runs only when its environment switch is enabled. An unusable required participant prevents merging that record type. Contact merges require Platform participation.