01must proveConfirmed | A transfer ends the original affiliation on the preceding day and creates a successor on the effective date with its primary flag, end and lineage, recording a transfer event. no proof recorded yet | lifecycle | service | observed |
02must proveConfirmed | A direct transfer into a unit with applicable active dues is refused and identifies the Commerce component-change amendment required to carry the charge. no proof recorded yet | policy | service | test |
03must proveConfirmed | Dated rosters reflect the old and new units on their respective dates and retain membership in any shared ancestor reached by another affiliation. no proof recorded yet | calculation | service | test |
04must proveConfirmed | A merge transfers begun affiliations, repoints future affiliations, ends or withdraws overlaps with the survivor, and leaves closed or cancelled-period affiliations unchanged. origin: Andrew 2026-10-18, guided build acceptance decision 1 (services-membership:docs/migrations/unit-merge/README.md) no proof recorded yet | lifecycle | service | observed services-membership:modules/memberships/services/affiliations/unit-merge.ts:decideMergedTerm, writeDecision |
05must proveConfirmed | A merge plan refuses affiliations requiring a different survivor type or introducing a unit-rule problem absent before the merge, identifying affected memberships before writes occur. origin: Andrew 2026-10-18, guided build acceptance decision 1 (services-membership:docs/migrations/unit-merge/README.md) no proof recorded yet | validation | service | observed |
06must proveConfirmed | Identity-bound memberships move to the survivor unless a principal membership’s owner already holds that program in the surviving identity unit, which produces a merge refusal. origin: Andrew 2026-10-18, guided build acceptance decision 1 (services-membership:docs/migrations/unit-merge/README.md) no proof recorded yet | lifecycle | service | observed |
07must proveConfirmed | Any affiliation naming a unit, including a closed historical row, prevents deletion of that unit. no proof recorded yet | invariant | service, database | test |
08must proveConfirmed | After a merge, the survivor’s officers can read moved members through their new in-scope affiliations. no proof recorded yet | policy | service | test |
09must proveConfirmed | The product should publish transfer-equivalent business events for every merge ending, withdrawal and repointing. no proof recorded yet | policy | service | unknown |
10must proveConfirmed | The product should retain a current primary designation when a primary affiliation merges into an existing nonprimary survivor affiliation. no proof recorded yet | invariant | service | unknown |
11Confirmed | Merging affiliations carries no dues line or payment and leaves the merged unit’s dues products for a separate finance decision. | policy | service | documented |
12must proveConfirmed | Reparenting a chapter changes no affiliation row; current rosters use the new tree while past-date ancestry uses the historical tree. no proof recorded yet | policy | service | observed |