Duplicate Review
Findings tell you what was found. Duplicate review tells you where the same thing shows up again — the customer record that exists in three systems, the export somebody rebuilt because they couldn’t find the first one, the two tables two teams maintain in parallel without knowing about each other.
You’ll find it in the app under Duplicate review.
What this is for
Duplicate detection is easy to build and easy to ignore. Most tools produce a long list of “these two look similar”, every entry needs a human, and the list regenerates on the next scan. Nobody finishes it, so nobody starts it.
Classifyre is built around three ideas that make the list finishable:
- Group by cause, not by pair. Every match is filed under the reason it matched — the set of values the two assets had in common. Eighteen thousand pairs are usually five or six patterns, and the top one is often a single normalisation rule.
- Say how much each decision is worth. Every pattern shows how many pairs are still undecided, how far one decision reaches, and how much of the backlog it would clear.
- Separate the boring duplicates from the interesting ones. A copy of a table that sits downstream of its source is supposed to look like it. Two teams independently building the same thing is not. Classifyre uses lineage to tell those apart, so the second kind surfaces instead of drowning in the first.
The three levels
The queue is a drill-down. Each level answers one question and ends in an action, so you always know where you are and what’s left.
| Level | Screen | Answers | Read next |
|---|---|---|---|
| 1 | Duplicate review | How much work is there, where does it come from, which pattern first? | The Review Queue |
| 2 | A pattern | What made these match, and can one decision settle all of them? | Patterns |
| 3 | A pair | Are these two the same thing, and what’s the evidence? | Reviewing a Pair |
| — | Decisions | What did I already judge, and what became of it? | Decisions |
| — | Tuning | Why is it matching like this, and how do I change it? | Tuning |
The five-minute version
- Open Duplicate review. The big number is pairs remaining — undecided matches inside your review band.
- Look at Where the matches stand. If almost everything sits above your merge cutoff, the matcher is being generous; if almost nothing does, it’s being strict. You can move the cutoffs later.
- Pick the top pattern in Work by pattern. It’s ranked by how much work one decision settles, not by size.
- Read the pattern header. It tells you what kind of decision this is — cutoff candidate, rule candidate, no judgement needed, or needs judgement.
- Open a pair and press c or r. The queue advances on its own; keep going until it’s empty.
- Everything you decide lands in Decisions, where you can turn confirmed duplicates into a case or an inquiry.
Two engines, one queue
Two completely different things can make two assets look like the same thing, and both feed the same queue:
| Engine | Matches on | Typical pattern |
|---|---|---|
| Weighted overlap | The concrete values inside findings — emails, account numbers, IBANs, names | ”These two records are about the same customer” |
| Near-duplicate text | Meaning, via embeddings — two passages that say the same thing in different words | ”These fifty documents share the same boilerplate paragraph” |
They answer the same question from opposite directions, which is why they share a screen. See How Matching Works.
Where duplicates go next
A decision is only worth taking if it can go somewhere.
- Add to case — the two assets (and optionally their findings) become evidence in a case.
- Create inquiry — an inquiry that keeps watching for the same signature, pre-filled with the labels and sources that made this pair match.
- Nowhere, yet — the common outcome, and a deliberate one. Confirmed duplicates that went nowhere are listed on their own in Decisions so you can come back to them.
Related reading
- How Matching Works — the scoring, in plain terms
- Every Number Explained — every figure and phrase on these screens
- Lineage & Relationships — why a lineage path changes what a duplicate means
- AI Agents & Duplicates — what the harness does here, and what it deliberately doesn’t