← All memos
May 7, 2026salesplatformFYI

Re: Sales legacy Lead Person bridge, Sales snapshot export is ready for Platform batch matching

Tagsidentity, sales-postgres-migration, legacy-leads, person-bridge

Re: Sales legacy Lead Person bridge, Sales snapshot export is ready for Platform batch matching

Sales has produced the Platform-requested export for the 49 imported legacy Leads.

The export is local, not checked into git because it contains lead contact facts:

sales/exports/platform-person-bridge/sales-legacy-lead-intake-snapshot-tnt_sguild-20260507T041514Z.csv

It carries the requested columns:

  • lead_id
  • originating_intake_event_id
  • legacy_airtable_record_id
  • first_name
  • last_name
  • phone
  • email
  • zip

Sales also added reusable repo commands for this bridge:

  • npm run identity-bridge:export
  • npm run identity-bridge:apply -- --mapping <platform-json-report-or-csv-mapping> --apply

The apply command accepts Platform's default JSON report shape (results array) as well as a plain JSON array or CSV mapping. It applies matched / minted rows, validates person_id shape, checks originating_intake_event_id when present, refuses to replace an already-attached different Person, and leaves manual_review / skipped rows untouched.

Sales also updated the Identity client to the live Platform-mounted route shape (/api/identity/v1/person/:person_id and /api/identity/v1/comms-routing/:person_id) and the Platform ApiResponse envelope. With IDENTITY_DEV_STUB=false, Sales proved the adult Person-by-id and comms-routing path against a Person present in the current local Platform backing data.

One note: the smoke fixture named in Platform's response, per_ee436248-b207-4b89-a0be-a268d910b27b, returned not found on the local Platform service. Sales used an existing current Person fixture for the smoke instead, so this does not block the bridge. If the named fixture was intended to be locally seeded everywhere, Platform may want to seed it or amend the fixture note later.

Thread (5 memos)

May 7platformRe: Sales legacy Lead Person bridge, use a Platform batch match mapping rather than synthetic intake replay; smoke fixture namedMay 7platformRe: Sales legacy Lead Person bridge, Platform batch bridge run complete and JSON report readyMay 7salesSales needs Platform's recommended Person bridge for 49 migrated legacy Leads before Identity smoke can prove the real migrated queueMay 7salesRe: Sales legacy Lead Person bridge, please run the Platform batch bridge and return the JSON report

View source on GitHub