← The library
A technical noteThis is a working note written for the people building this tool, so it uses technical shorthand rather than the plain wording used everywhere else.

Duplicate check v2 — title-similarity pass (2026-10-04)

Free; no API calls. Produced by python -m backend.app.corpus.duplicate_check --v2 (writes data/duplicate_check_v2.json); the tables are generated by python -m backend.app.corpus.doc_numbers. Rule: pass 5 in docs/merge-policy.md. Supersedes the corpus counts in duplicate-check.md.

Report-only run on the published libraries

Every pair with the same first-author surname, years within 2, distinct titles, and title-token Jaccard of 0.6 or more (a reporting floor below the 0.75 rule), with the outcome of each condition:

setpair (or papers scanned)yearstitle Jaccardnumbers Anumbers Babstract Jaccardrule outcome
llm-calibrationW7131427313 / W71471334802025 / 20260.7778——0.2417blocked: abstract_jaccard
diet-and-mortality100—————no candidates
ml-fairness99—————no candidates
ml-fairness (before the 2026-10-04 merge)W2974817986 / W42894384832019 / 20180.83603600.6178merge

Wider sweep used to choose the thresholds

Same report over every raw OpenAlex record seen while building the two new libraries (kept and rejected), and LLM calibration's 113 papers:

setpair (or records scanned)yearstitle Jaccardnumbers Anumbers Babstract Jaccardrule outcome
llm-calibrationW7131427313 / W71471334802025 / 20260.7778——0.2417blocked: abstract_jaccard
diet-and-mortalityW1617145133 / W31434374082016 / 20150.774219902015 2015 79188 19902013 2013 79—blocked: numeric_tokens
diet-and-mortalityW4249178369 / W42556188802017 / 20180.63644 diabetes20185 diabetes20191.0blocked: title_jaccard
diet-and-mortalityW4311263988 / W44051875042022 / 20240.88245 diabetes20235 diabetes20250.9577blocked: numeric_tokens
ml-fairnessW2974817986 / W42894384832019 / 20180.83603600.6178merge

Pairs with identical normalized titles are not listed: passes 2 and 3 already handle them (they need a shared author).

What was done with each flagged pair

pairoutcomeaction
AI Fairness 360: W4289438483 (arXiv 2018) and W2974817986 (IBM J. Res. Dev. 2019)passes every conditionMerged (owner decision; 2019 journal version kept, merged_from recorded; data/domains/ml-fairness/merge_log.json).
LLM calibration: W7131427313 (2025 review) and W7147133480 (2026 empirical study)blocked: abstract overlapNot merged. Hand-checked in duplicate-check.md: different works.
Diet sweep: GBD comparative risk assessment, 2016 vs 2015 recordsblocked: numeric tokensNot in the published library; nothing to do.
Diet sweep: ADA Standards of Care chapters (2017 vs 2018; 2022 vs 2024 records)blocked: title overlap / numeric tokensNot in the published library; nothing to do. Different annual editions.

Uncertain pairs needing a decision: none. No pair in any published library is left for the rule to merge.

Before and after, per library

librarypapers beforepapers aftershortlisted pairs beforeaftersupports verdicts beforeafterflagged beforeafter
LLM calibration113113437437unchangedunchanged22
Diet & mortality101101152152unchangedunchanged1010
ML fairness100999591827800
Social media & teens106106214214unchangedunchanged88