Category

Inside CitationLab

Engineering notes from building the checker. How extraction decides what counts as a citation, why we test every change against a corpus of real theses, what we deliberately refuse to optimise. These are written for readers who want the reasoning rather than the reassurance — including the decisions that turned out to be wrong.

Inside CitationLab

Nothing gets lost: the conservation ledger

A citation checker you can trust must account for every line it read: kept, matched, or set aside — never silently dropped. How CitationLab's conservation ledger works.

Read the post →
Inside CitationLab

The seven steps of a Ref[In] annotation

Annotation runs as seven stages in a fixed order, on a frozen session, by one worker — and it will not begin until the ledger balances. What each stage produces, and why every constraint was added after something went wrong without it.

Read the post →
Inside CitationLab

We check the references you already had, not just the ones we found

A citation check that only reports what is missing leaves the risky part untouched. Every reference in your bibliography is independently resolved — including the DOI you supplied, which is followed to see what it actually describes.

Read the post →
Inside CitationLab

We read your extracts, not your thesis

What actually reaches an AI provider during a citation check: the citation string, the parsed authors and year, and a capped window of surrounding words. Every citation goes; no chapter does.

Read the post →