Review potential matches
Pairs whose evidence is suggestive but not conclusive are queued for a data steward. This page is that workflow.
Before you start
potential-match.readto see the queue.potential-match.resolveto record any decision — confirm, reject, or defer.entity.mergein addition topotential-match.resolveto confirm a match, since confirming performs the merge.
A caller holding only potential-match.read can read the queue and act on
nothing.
1. Open the queue
The match queue. Each row shows the two records, the composite weight, and the tier that weight fell into.
The queue holds every pair that scored into the clerical review band. Each row shows the two records, the composite weight, and the tier.
The composite weight is in log2 evidence units — not a percentage. Higher means more evidence; each whole point doubles it. See how probabilistic scoring works.
2. Read the evidence, not just the score
A pair, side by side. Every attribute's contribution is shown — this is the evidence the score is made of.
Open a pair and you see the two records side by side with a per-attribute breakdown: which level each attribute resolved to, and what it contributed.
This breakdown is the point of the review. The composite weight tells you how much evidence there is; the breakdown tells you what kind, which is what you actually need in order to judge:
- A pair carried almost entirely by one attribute deserves suspicion, however high the total.
- A pair where several independent attributes each contribute modestly is usually a genuine match.
- A strongly negative contribution — a disagreeing identifier — deserves more attention than a high total, because identifiers do not usually disagree by accident.
Field masking applies here as everywhere else. If an attribute you need in order to judge the pair is masked, you lack permission to see it — request access rather than deciding on partial information.
3. Decide
| Decision | What happens |
|---|---|
| Confirm | Records merge. Survivorship picks winning values; crosswalks, relationships, and consent re-point to the survivor. Reversible. |
| Reject | Recorded as a confirmed non-match, so the pair is not queued again. |
| Leave | Stays queued. |
Rejections are as valuable as confirmations: they become labelled non-matches, which is exactly what threshold tuning needs — and hard negatives are the scarcest input there.
4. If a merge was wrong
Unmerge it. The absorbed records are restored with the state they carried, and the reversal is recorded. Merges are reversible by design precisely so a steward can act decisively without fear of an irreversible mistake.
Working the queue well
- Sort by composite weight and work downward. The heaviest pairs are usually clear confirmations; clearing them quickly leaves time for the genuinely ambiguous ones.
- A queue that never empties is a configuration signal. Persistent volume usually means the clerical review threshold is too low, or an attribute is contributing evidence it should not.
- Recurring near-identical pairs usually indicate a standardization gap — the same value arriving in two forms — better fixed upstream than decided repeatedly by hand.
Next
- Tune thresholds using your decisions as labelled data
- Match profile reference
Last verified against commit 315eb047 (2026-08-03)