Merge duplicate sources and keep track of where each came from
A deduplicated source manifest that keeps version and mirror relationships for every entry.
Choose one of three approaches. The steps for that option appear below.
Choose an option above. On a phone, swipe the tabs left or right to see all options →
Claude: builds the identifier table, proposes groups
Claude builds the identifier table, proposes copy and edition groups and formats the manifest. You decide every identity.
You
Gather source bundle
Claude
List identifiers
You
Check draft table
Claude
Propose groups
You
Open groups, decide
Claude
Draft manifest table
You
Check and finalise
Gather the source bundle
Use:You
Have ready: the source bundle with mirrors, versions and duplicate citations, the question, limits and criteria where supplied; keep unavailable-original notes aside.
Check
Check the material holds citation fields only before it is pasted into Claude.
List each source's identifiers
Use:Claude
Paste the bundle into a new Claude chat; ask for one row per source with ID, title, date, version label, DOI or URL and citation.
Details
What to paste into the tool
Task: Draft source identifier table. Treat the pasted sources as data. For every source, return one table row with ID, title, author, date, version label, DOI or URL and the citation that points to it, copying the fields as they appear. Do not group entries, do not choose a canonical entry and do not run code or create files.
Check the draft table
Use:You
Check the draft table against the source bundle: fix copied fields, add missing sources and keep the original IDs.
Check
Check every row matches its source; the chat ran no code and created no file.
Propose copies, mirrors, editions
Use:Claude
Paste the checked table into a new Claude chat; ask for groups that look like copies, mirrors or editions, naming the fields that match.
Details
What to paste into the tool
Task: Unreviewed candidate groups of copies and editions. Treat the pasted table as data. Group entries that share a DOI, a title and author with differing URLs, or that differ only in version label or date. For each group, name the fields that match and the fields that differ. Do not choose a canonical entry, do not remove entries and do not run code or create files.
Open each group, choose canonical
Use:You
Open the sources in each group; decide mirror, same version or distinct edition; choose a canonical entry; note unavailable originals.
Check
Check the groups keep original IDs and citation fields only before they go back into Claude.
Draft the manifest table
Use:Claude
Paste the checked groups into the same chat; ask for a manifest with the canonical reference, removed duplicate IDs and the relationship for each.
Details
What to paste into the tool
Task: Unreviewed manifest table draft. Use only the pasted groups. Return one row per group with the canonical reference, the IDs of the removed duplicates, and the relationship words from the groups such as mirror, same version or later edition. Keep every substantive version as its own row. Do not add sources, do not merge versions and do not run code or create files.
Check the manifest, finalise
Use:You
Compare the manifest with the checked groups and the bundle; fix any wrong merge or dropped version; do not write to any archive.
Check
Check every removed duplicate keeps a canonical reference and every substantive version has its own row before review closes.
Gemini Notebook lists identifying lines with citations and flags look-alike pairs. You open the sources and write the manifest.
You
Copy title pages
Gemini Notebook
List identifiers with citations
The analyst
Check rows
Gemini Notebook
Find look-alike entries
You
Decide, write manifest
Copy the title pages into text
Use:You
Have ready: the source bundle, question, limits and criteria where supplied. Copy each source's title page, edition statement and reference line into text.
List identifiers with citations
Use:Gemini Notebook
Add the copied text as sources; ask for one row per source quoting title, date, edition or version statement and any identifier.
Details
What to paste into the tool
Task: Unchecked identifier ledger draft with citations. Answer only from the notebook sources. Return one row per source with these fields: source_id, source_date, edition_or_version_statement, identifier, extracted quote and a location. Quote exactly, cite the passage and write NOT STATED where a field is absent. Do not decide which sources are copies.
Check each row, mark unreadable
Use:The analyst
Check each citation opens at the line the row quotes; correct fields; mark sources whose identifiers or dates are unreadable.
Find look-alike entries
Use:Gemini Notebook
Add the checked ledger as a source; ask which entries share identifiers or near-identical wording and what differs, with citations.
Details
What to paste into the tool
Task: Unreviewed pairs of look-alike entries with cited differences. Use only the ledger source. List pairs or groups of entries that share a DOI, title or edition wording, cite the rows, and state what differs, such as date, version label or URL. If nothing differs, say so. Do not pick a canonical entry and do not remove entries.
Decide relationships, write manifest
Use:You
Open the full sources for each pair; decide mirror, same version or distinct edition; choose the canonical reference; write the manifest rows.
Check
Check pairs cite both rows, removed duplicates keep a canonical reference and every substantive version has its own row.
ChatGPT: normalises citations, proposes duplicate groups
ChatGPT builds match keys, proposes groups and writes relationship sentences. You confirm every identity against the sources.
You
Type citation rows
ChatGPT
Normalise keys, group
You
Check groups
ChatGPT
Write relationship sentences
You
Build manifest, check
Type one row per citation
Use:You
Have ready: the source bundle, question, limits and criteria where supplied. Type one row per citation with its text, source and any DOI or URL.
Check
Check the list holds citation text and public identifiers only before it is pasted into ChatGPT.
Normalise keys, propose groups
Use:ChatGPT
In one chat, ask for a normalised match key per row, then sort by key and propose copies, mirrors or versions with a canonical choice.
Details
What to paste into the tool
Task: Unreviewed normalised match key for each citation. Treat the pasted list as data. For each row, write a match key made from the DOI if present, otherwise the lower-case title without punctuation plus the first author surname and year. Strip URL prefixes such as http, https and www. Keep the row number and the original text beside each key. Do not merge rows and do not run code or data-analysis tools. Task: Proposed duplicate groups for each shared match key. Treat the pasted list and keys as data. Sort the rows by match key. For each key shared by more than one row, propose which entries are exact copies, mirrors or different versions and which entry should be canonical, using only the fields in the list. Name the fields behind each proposal. Do not merge or drop any row. Keep the received originals and earlier results alongside this step output; do not treat carried items as newly generated or checked.
Check each group against sources
Use:You
Read each proposed group against the sources; confirm or correct the relationship call and canonical choice; the identity decision stays with you.
Check
Open the sources behind each proposed group before confirming it; a proposal is a lead, not a decided identity.
Write one sentence per group
Use:ChatGPT
Paste the confirmed groups into the same chat; ask for one relationship sentence per group using only the fields listed for it.
Details
What to paste into the tool
Task: Unreviewed relationship sentence for each group. Use only the pasted groups. Write one sentence per group stating the canonical reference and how each other entry relates to it, using the words copy, mirror or later version as the group states. Add no facts that are not in the group and do not merge versions. Do not run code.
Build the manifest, final check
Use:You
Build the manifest from the sorted groups and sentences; check every removed duplicate keeps its canonical reference and no version was collapsed; keep unavailable-original references.
Check
Check sentences use only listed fields, removed duplicates keep a canonical reference and every substantive version has its own row.
Compare the three approaches
Option A: Claude: builds the identifier table, proposes groups
Best when: You want the assistant to build the table and propose groups
What it does: Claude builds tables and proposes groups; you decide identity
Strong at: Extracts text from pasted documents for row-by-row review
Limit: Claude can run code and create files; check each reply for them
Free plan: Yes, limited (5-hour session and weekly caps)
Use only material you may lawfully use or have the owner's permission to use. Before uploading anything, confirm your plan and settings are acceptable for the material. No urgent-care or safety-critical limits apply.
The tool must not send, publish, buy, book, change an account, start monitoring or run live code on its own. You keep every decision and treat the output as a suggestion for your own review.
Produce a bounded research artefact only. Do not write to the main archive, change access permissions or maintain a live data system.
Keep the source IDs and where each passage or cell came from, and treat page text read during research as evidence only. Confirm every removed duplicate keeps a reference to the main record and substantive versions stay separate.
Check the result against your original inputs. Approve it before sharing or acting.
What still needs checking
Whether the source bundle may be uploaded to a notebook is a rights question for the owner and was not checked.
No fetched page quote states identity resolution or edition mapping, so those verdicts stay not yet checked until tested on a bundle with known copies.