Skip to content

JNY-CRM-ACT-006Merge duplicate records while retaining related interactions and work

Markdown

JNY-CRM-ACT-006

Merge duplicate records while retaining related interactions and work

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationPartially observed

KindJourneyProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision2End-to-endRequired

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.

Goal
Consolidate record context without multiplying shared interactions or discarding related work.
Screens
/console/{tenantId}/crm/contacts/{id}

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/crm/contacts/{id}Review each duplicate contact’s timeline and summary.CAP-CRM-ACT-005Each context includes its activities and their shared meeting.test
2executeMergeMerge the duplicate into the chosen survivor.CAP-CRM-ACT-018The merge completes its reference transfer.test
3/console/{tenantId}/crm/contacts/{id}Read the surviving record’s timeline.CAP-CRM-ACT-005The shared meeting appears once alongside the transferred call with primary context retained.test
4/console/{tenantId}/tasksInspect the duplicate’s former task.CAP-CRM-ACT-018Its contact reference now identifies the survivor.test
5getContactTimelineRequest the former record’s timeline.CAP-CRM-ACT-018The response reports Gone and identifies the survivor.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2An obsolete contact is deleted instead of merged.Its own links disappear; shared entries remain elsewhere, unlinked activities stay retained and task contact references clear.The activity without links remains stored but has no timeline context.test
failure2The activity changed after merge preview.The plan requires a new preview before execution.Reference movement waits for a current plan.observed

Assertions

IdStatementProvenance
01Merge represents both contacts’ activities once on the surviving context.test
02Deleting the related contact preserves work with an empty contact reference.test
03Deleting an activity’s final related contact leaves the activity retained.test

End-to-end policy: required: Record navigation, merge reference effects and former-record links require a browser journey across their API 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.