865ae5c072e2b1ac0eb56816e41aca9ad6008ba5
Merge now re-points the loser's payments, company memberships (deduped against unique_cm_exact), polymorphic yacht ownership, and polymorphic invoice billing-entity to the winner inside the same transaction, before archiving the loser. H2: the winner no longer silently loses those rows. H3: because payments (notNull onDelete:cascade) are moved off the loser, a later hard-delete of the archived loser can no longer cascade-delete the winner's financial history. Counts wired into the merge result + audit row. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
98.7%
HTML
1%
CSS
0.1%
Shell
0.1%