36b92eb82779f002b369a1fe3f777de880546e13
Captures the audit findings from a 2026-05-03 read-only NocoDB review plus the algorithm and migration plan for porting the legacy data into the new client / interest / contacts / addresses model. Highlights: - 252 NocoDB Interests rows ≈ ~190–200 unique humans (~20–25% dup rate). Six duplicate patterns documented from real data, including "same person, multiple yachts" — exactly the case the new client/interest split is designed to handle. - Reuses the battle-tested `client-portal/server/utils/duplicate- detection.ts` algorithm (blocking + weighted rules) with additions: metaphone for non-English surnames, compounded confidence when multiple rules match, negative evidence for split-signal cases. - Three runtime surfaces (at-create suggestion, interest-level same-berth guard, background scoring + admin review queue) plus a one-shot migration script with --dry-run / --apply / --rollback. - Configurable thresholds via per-port system_settings so the merge policy can be tuned (defaults to "always confirm" — never auto-merges out of the box). - Reversible: every merge writes a clientMergeLog row with the loser's full pre-state JSON, enabling 7-day undo without engineering. Implementation decomposes into three plans (P1 library / P2 runtime / P3 migration) sequenced after the mobile branch lands. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
97.3%
HTML
2.3%
Shell
0.2%
CSS
0.2%