Skip to content

JNY-CRM-DQ-006A colleague follows an absorbed identity and inspects its history

Markdown

JNY-CRM-DQ-006

A colleague follows an absorbed identity and inspects its history

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindJourneyProduct areaCRMModuleDuplicate Review and Record MergingRevision1End-to-endRequired

Read atreact-console baf6dae3services-crm a8d1364f

The Formal Contract

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

Goal
Reach the current record from an older reference and understand how merging produced it.
Screens
/console/{tenantId}/crm/contacts/{id}

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/crm/contacts/{id}Open a bookmark to a member absorbed through two merges.CAP-CRM-DQ-018The final survivor opens directly with both record numbers explained.test
2/console/{tenantId}/crm/contacts/{id}Use recent, saved-view and search references to the old record.CAP-CRM-DQ-018Each resolves to the survivor or clearly reports its destination or failure.test
3listMergesIntoRecordInspect successful merged-from history on the survivor.CAP-CRM-DQ-019Record-read authority exposes the participant and requester history.test
services-crm:modules/merges/tests/e2e/merged-from-history.e2e.spec.js#answers the reader the survivor’s merged-from history, naming the merge and the record it absorbed
4getMergeIntoRecordOpen an outcome from that lineage.CAP-CRM-DQ-019Field results and the absorbed originals are visible.test
services-crm:modules/merges/tests/e2e/merged-from-history.e2e.spec.js#answers the reader the merge’s outcome and the absorbed record as it was
5getMergedRecordAliasAs an integration, resolve the older identity.CAP-CRM-DQ-018The alias response identifies survivor, original merge and time.test
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#says where an id the merge took away went, and through which merge

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate5The integration tries creating with its absorbed identity.The identity guard rejects recreation.No new record acquires that old identity.test
failure3The caller reads organizations but lacks contact authority.The contact history request fails.No contact history is disclosed.test
services-crm:modules/merges/tests/e2e/merged-from-history.e2e.spec.js#refuses a reader of organizations a contact’s merged-from history
failure1The survivor has been hard-deleted.The old identity still reports merging but the destination returns not found.The known dangling-alias defect prevents reaching a record.test

Assertions

IdStatementProvenance
01Chained absorption redirects each old identity directly to the latest survivor while retaining its original merge reference.test
02Ordinary record readers see lineage without management-only merge details.test
services-crm:modules/merges/tests/integration/services/merges/merged-from-history.integration.spec.js#leaves what only merge management reads out of a reader’s details

End-to-end policy: required: Old-link navigation, notices and narrower reader history require browser checks; service tests cover alias resolution and permission boundaries.

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.