As of 2026-04-21, 9 HS contacts legitimately hold 2 SoT lead_ids each (same owner, multiple properties).
Dual-ID lead_source_notes format: ID:Rprimary|ID:Rsecondary|Score:X|Tier:Y|...
Pre-existing (2):
- R041820 ↔ R130910 — re.erinlife@gmail.com
- R311304 ↔ R312315 — jcary@coag.gov
Discovered 2026-04-21 (7):
- R040971 ↔ R173530 — bkelsic@comcast.net
- R056910 ↔ R304812 — jjthwaytes@gmail.com
- R073630 ↔ R310277 — reyno1967@gmail.com
- R114004 ↔ R305016 — rvogelmd@gmail.com
- R190970 ↔ R304816 — jerry@alifeofsmiles.com
- R308220 ↔ R036590 — tcallender@turnerconstruction.com
- R311738 ↔ R302580 — pauladallabetta@gmail.com
Why: HS only allows one primary email per contact. Secondary lead's email is cleared in SoT to match; both lead_ids are retained via lead_source_notes ID-tokens.
How to apply: When pushing to HS and hitting a 409 (email conflict), APPEND |ID:Rnew|... to existing lead_source_notes — do not overwrite. Reconciliation must use matchAll(/ID:R\d+/g) to catch both IDs. Known bug in hubspot-lead-push skill overwrites instead of appending — on watchlist.