Project report · Poe Poe Myint Swe · October 2026
Building a checker to find out.
I build Co-Researcher, research tools that run inside AI assistants such as Claude Code and Codex. One tool writes literature reviews, which summarize what published studies found. AI writers sometimes cite papers that don't exist, and my name goes on what this tool produces, so I wanted every reference checked.
Checking that a paper exists takes one database lookup. Checking what the review says about it takes more. Take the sentence “The trial found no change in recall (Lumen, 2024).” Lumen 2024 can be a real paper and the sentence can still be wrong, because the study found a change, or measured something other than recall, or was written by someone else. A reference check passes all three.
The checker never hunts for evidence on its own. For each study it relies on, the AI has to write down what it says the study found, the exact words from the study that back it up, and which study it is. The checker then tests that record in four steps, and each step closes off a different way of getting a citation wrong.
When a step fails, the AI gets the list of failures and another try, for up to three rounds. A review that still fails goes out marked INVALID EVIDENCE.
I wrote the checker as ordinary code that compares text, and no second AI is asked for an opinion. The same review always gets the same verdict, and anyone can read the exact rule that failed. What the code can't do is judge meaning. It sees words and numbers, which is why a review that turns “suggested” into “proved” still passes.
I wrote short, made-up studies so no AI could recognize them from training, and planted one mistake in each test. Claude, from Anthropic, and Codex, from OpenAI, then wrote reviews from those studies. For each test I recorded whether the checker flagged the planted mistake before any fixing.
| Kind of mistake | What I slipped in | Result |
|---|---|---|
| Altered quote | a letter from another alphabet that looks identical, a deleted “no”, two sentences glued together from different places | Caught |
| Wrong citation | a quote credited to the wrong author, a title that matches two papers, “La Cruz” for “de la Cruz” | Caught |
| Wrong number or source | 64% added with no source, 64% where the study says 6.4%, a finding taken from a paper marked as background reading | Caught |
| Broken files | a missing file, a corrupted file, a file swapped for a shortcut, a file pointing outside the project | Caught |
| Overstated finding | a study that “suggested” something, reported as having “proved” it | Missed |
When Codex reviewed a draft of the technical write-up, it found four kinds of mistake that get a perfect score. I reproduced all four.
The checker catches the mistakes I built it to catch, with real AI writers in the loop. I haven't yet tested it on reviews of real papers. Because I wrote the mistakes and the checker myself, this test is easier than real use would be.