01must proveConfirmed | Committed change events trigger background detection; saving neither waits for that work nor fails because detection fails. | policy | service | observed |
02must proveConfirmed | Detection refreshes keys and scores only for changes to matching names, birth date, spouse, affiliations, organization identity and hierarchy, origin identifiers or contact details, excluding job title, notes, status and region. ✓ For example, a coordinator corrects a member's last name; the member's pairs are re-scored.✗ By comparison, a coordinator changes the member's job title; nothing is re-scored. | policy | service | test |
03must proveConfirmed | Comparison requires a shared key: contacts use e-mail, phone, phonetic name, phonetic surname with postal code, surname stem with birth date or origin; organizations use normalized name, phonetic name with postal code, non-free-mail domain, phone or origin. | calculation | service | test |
04must proveConfirmed | Lookup skips a workspace key value with more than 200 holders, still uses rarer keys and adds a zero-point reason identifying the skipped key type. | calculation | service | test |
05must proveConfirmed | When a key becomes too common, detection removes open detected pairs supported only by it, refreshes pairs with independent evidence and preserves dismissed, confirmed and manual pairs. origin: D-47 (cited in services-crm:docs/merging/duplicate-detection.md#3. Match keys; no milestone record holds it, FND-CRM-DQ-018) | lifecycle | service | test |
06must proveConfirmed | Within a detection batch, all records receive their keys before comparison, allowing records created together to match each other. | calculation | service | test |
07must proveConfirmed | An open detected pair disappears when it loses every shared key or scores below 35; dismissed, confirmed, manual and portal-sign-up pairs remain stored. | lifecycle | service | test |
08must proveConfirmed | Rescoring updates an existing pair's score, band, evidence and evaluation time without replacing its identity, status, origin, dismissal or first detection time. | invariant | service, database | test |
09must proveConfirmed | Contact matching excludes addresses and phones linked from an organization, so shared employer details do not establish a duplicate pair. | calculation | service | test |
10must proveConfirmed | A failed detection pass returns failures for every event in its batch, allowing the entire batch to be delivered again. | lifecycle | service | test |
11Confirmed | Import-marked changes are reserved for a later completion pass, but current captured events lack that marker and receive ordinary detection. | policy | service | test |
12must proveConfirmed | A detection pass reads and creates pairs only within the workspace of its execution. | invariant | service, database | test |