Skip to main content

Legacy Migration: CRM Contact Notes → CDP Notes

One-time migration of existing crm_notes records (qontak.com Postgres) into CDP contact_notes (MongoDB). Preserves HTML content, caller-set timestamps, and maps legacy crm_person_id to CDP contact_id via Contact.source_id.

Dependencies

This initiative cannot start until Mention User in CDP Notes is completed (shipped). The migration imports legacy notes into a contact_notes collection whose schema must already support mention anchors (data-user-id / data-mention and the mobile href form) so that migrated historical notes render mentions consistently with notes authored post-feature. Running the migration before the mention feature ships would require a second pass to backfill mention data.

DependencyInitiativeStatusWhy
BlockingMention User in CDP Notesactivecontact_notes mention schema + parser (D-9) and notification routing (D-10) must land first so migrated HTML renders mentions correctly.

Scope Changes

Engineering surfaces this initiative touches (controlled vocab: Backend · Frontend · Mobile · Infra · Data · Design · Docs · None). Aggregate of this initiative's PRDs; mirrors the scope_changes frontmatter above.

  • Backendcontact-service: net-new CDP migrate + count endpoints, a gocraft/work ingestion consumer, legacy_crm_note_id idempotency, caller-set timestamps, and Contact.source_id resolution; plus the net-new CRM extraction contract.
  • Data — one-time historical migration of crm_notes (qontak.com Postgres, ~21k notes / ~130 CIDs) → CDP contact_notes (MongoDB), incl. rich-HTML content and attachment mapping.

QA Lane

Lane B — keeps a human QA gate. A data migration whose before/after results require manual QA crosschecking. No E2E test specs exist for this initiative yet, so the Lane-A entry bar (100% E2E, spec-mapped coverage) is unmet regardless. Classified 2026-06-29.

Contents

  • prds/ — Product Requirements Documents
  • rfcs/ — Request for Comments
  • tests/ — Test plans
  • delivery/ — Timeline, status updates, decisions