Skip to content

CAP-CRM-DQ-011Understand the duplicate-review workload

Markdown

CAP-CRM-DQ-011

Understand the duplicate-review workload

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindCapabilityProduct areaCRMModuleDuplicate Review and Record MergingRevision1

Read atservices-crm a8d1364freact-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
The overview makes waiting duplicate work understandable.Capped large totals are identified as lower bounds.
Surfaces
consoleapi
Intent sources
services-crm:docs/merging/experience/functional-requirements.md#DQ-1 (package approved by Andrew 2026-10-13)

Controls

16 controls apply, from the corpus control catalogue.

TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-006 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003

Permissions

KeyChecked atScope
crm.duplicates.readapitenant

Business Rules

7 rules, 5 to be proved before approval. A rule's product intent is derived from its origin: 7 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
For each type the overview reports open groups by confidence, their records, open/dismissed/confirmed pairs, latest group detection, active re-check status and successful merges within 30 days.
no proof recorded yet
calculationservicetest
services-crm:modules/duplicates/tests/integration/services/summary/duplicate-summary.integration.spec.js#counts the contact groups, the records in them and the pairs of each status
02must prove
Confirmed
A group contributes to the confidence band of its highest-scoring pair.
no proof recorded yet
calculationservice, databasetest
services-crm:modules/duplicates/tests/integration/services/summary/duplicate-summary.integration.spec.js#breaks the open groups down by band, the group taking the band of its strongest pair
03must prove
Confirmed
Counts remain exact through 10,000, then return 10,000 with type-level and overall capped flags indicating a lower bound.
no proof recorded yet
calculationservicetest
services-crm:modules/duplicates/tests/integration/services/summary/duplicate-summary.integration.spec.js#answers the CAP rather than the count, so no reader waits for a number nobody reads
04
Confirmed
Record types without duplicate activity still appear with zero totals.
policyservicetest
services-crm:modules/duplicates/tests/integration/services/summary/duplicate-summary.integration.spec.js#counts nothing for the record type nothing was written about, rather than leaving it out
05must prove
Confirmed
Overview access requires duplicate-read permission in both the API and console.
origin: services-crm:docs/merging/architecture.md#9. Security and tenant isolation
no proof recorded yet
permissionapi, consoletest
services-crm:modules/duplicates/tests/e2e/duplicate-groups.e2e.spec.js#refuses a caller without the duplicates read permission
06must prove
Confirmed
The overview links type counts to filtered review queues, renders capped totals as 10,000+ and uses counts consistent with open, dismissed and confirmed work.
no proof recorded yet
policyconsoletest
07
Confirmed
The product should notify duplicate-management responsibility of open groups and resolve that attention as groups close; the declaration is currently held and sends no notifications.
lifecycleserviceobserved

Scenarios

IdGivenWhenThenProvenance
01A workspace has two open contact groups, a dismissed pair, a confirmed pair and a running contact re-check.A reviewer visits Data Quality.Contacts show the corresponding totals and active run, while organizations show zeros.test
services-crm:modules/duplicates/tests/integration/services/summary/duplicate-summary.integration.spec.js#says a rescan of the contacts is under way, so a reader knows the counts are being rebuilt

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.