---
id: ADR-CRM-DQ-003
title: Use deterministic duplicate matching
product_area: crm
module: data-quality
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
decision: >-
  Equality keys select comparisons and a versioned scoring table determines
  their strength; detection, review and merging make no model calls.
constrains:
  - SVC-CRM-DQ-duplicates
  - SVC-CRM-DQ-merges
  - DOM-CRM-DQ-001
  - WF-CRM-DQ-001
origin: >-
  services-crm:docs/merging/decisions.md#Settled by inspection or engineering
  practice (not up for decision): LLM in detection, Fuzzy matching in SQL
alternatives:
  - option: Use a model for matching
    why_not: >-
      The recorded choice requires repeatable matching and explanations derived
      from evidence.
  - option: Use fuzzy database searches
    why_not: >-
      The documented database setup and row policies do not support the proposed
      extension.
consequences:
  - All callers declare an empty inference list.
  - Reversing a comparison preserves its calculated result.
  - Calibration still needs synthetic examples and accumulated review decisions.
supersedes: []
evidence:
  - >-
    services-crm at a8d1364f: modules/duplicates/services/matching/*.ts;
    docs/merging/decisions.md; docs/merging/duplicate-detection.md §12.
---

# Use deterministic duplicate matching

## Context

Staff need scores they can reproduce and reasons they can inspect.

## Decision

Equality keys select comparisons and a versioned scoring table determines their strength; detection, review and merging make no model calls.

## Alternatives Considered

Use a model for matching. The recorded choice requires repeatable matching and explanations derived from evidence.

Use fuzzy database searches. The documented database setup and row policies do not support the proposed extension.

## Consequences

All callers declare an empty inference list. Reversing a comparison preserves its calculated result. Calibration still needs synthetic examples and accumulated review decisions.
