Skip to content
roomi fields

Tools for working with AI agents

paper-trail

A Claude Code plugin that has sources acquired and read before a literature review is written, then checks each citation against the source's text.

active version 0.4.0, 3 September 2026 licence MIT

Source code

Invented quotations, reversed attributions and mistaken authors come from writing from memory and looking for the source afterwards; paper-trail enforces the opposite order, from source to text. Its main limitation: it checks that a reference exists, that the PDF obtained is the right one and that a quotation can be found in the source; it does not say whether the reasoning is sound, and a source that no route reaches stays “unverifiable”.

No playable demo: the plugin works on a local research vault.

A registry with a front desk

Each reference is a YAML file in a registry, readable in Obsidian. It moves through states in a fixed order: candidate, identifier resolved, PDF acquired, page 1 validated, cited and confirmed. Other states cover waiting for text recognition, re-acquisition and retraction.

A literature review cites only references that have reached “page 1 validated”. Validation compares the PDF’s first page with the expected author, title and domain keywords: it guards against the namesake, the right title by another author. Rejected candidates are listed with the reason.

Getting started

In Claude Code, through the roomi-fields/claude-plugins marketplace:

/plugin marketplace add roomi-fields/claude-plugins
/plugin install paper-trail@roomi-fields

The plugin refuses to start without a vault. Declare it once for every project:

mkdir -p ~/.config/paper-trail
cat > ~/.config/paper-trail/env <<'EOF'
RESEARCH_VAULT_PATH=~/Documents/MyResearch
RESEARCH_CONTACT_EMAIL=you@example.org
EOF
chmod 600 ~/.config/paper-trail/env

Bibliographic search goes through the paper-search MCP server, to be installed from its git repository (see INSTALL.md). python3 -m pipeline preflight checks the installation and gives the command that fixes each gap. Then:

/paper-trail:status
/paper-trail:new-sota "your topic"
/paper-trail:audit-article path/to/paper.tex

What it does

  • Search 22 platforms through paper-search; you pick the candidates.
  • Acquire the PDF through a cascade of 10 open sources: the supplied URL, Crossref, arXiv, OpenAlex, Unpaywall, HAL, CORE, the publisher’s page followed from the DOI, archive.org, then a web-search queue. With Playwright and a display, browser routes bring it to 13 sources.
  • Write last: the plugin refuses to draft when the corpus it has read is too thin.
  • Audit a review or a paper: each citation is classed as valid, to adjust, invalid or unverifiable, in RECEIPTS.md. --purge removes faulty citations from a review (with a backup); --warn inserts a warning next to them in the paper.
  • Check the registry: 19 invariants, and /paper-trail:doctor --fix repairs the safe discrepancies.
  • Fit the vault: Obsidian, a plain Markdown folder or Zotero. NotebookLM and rtfm are optional companions.

Extended sources, up to 17, shadow libraries among them, are disabled by default. They are enabled only by an explicit choice, session by session; their legality is the user’s responsibility (DISCLAIMER.md).

Common issues

  • paper-search installed from PyPI: the published version (0.1.3) exposes only 13 tools out of 63; install from git.
  • Browser route missing: it needs Playwright and a display, a virtual one in a container (docs/ACQUISITION_HEADFUL.md).
  • A pass that never ends: a run pass can loop endlessly on one reference (#12, open).
  • A transient failure recorded as final on Anna’s Archive, never retried (#11, open).

Where it stands

Version 0.4.0 of 3 September 2026; 0.1.0 dates from 25 May 2026. Five releases are published on GitHub, the others appear in the changelog. No continuous integration on GitHub. 6 stars as of 28 September 2026. The structure may still change between minor versions before 1.0.

Repository · [[NotebookLM]] · [[RTFM]]

The plugin reuses patterns and components from other projects in the Claude Code ecosystem, credited in NOTICE.md.

How it was made. Claude Code (Claude Opus 5.5), from the repository, its README and its release notes. Method