sciwrite-lint: Verification Infrastructure for the Age of Science Vibe-Writing
Organizations: Authentic Research Partners, Princeton, NJ†
Abstract
Scientific papers make claims about prior work backed by citations. Verifying those citations at scale (that each cited paper exists, says what the citation claims, and is itself reliable) is structurally beyond what human review can deliver: a typical paper has dozens of citations, and a careful reviewer reads at most a handful end-to-end. AI-assisted writing makes this gap even more urgent: LLMs hallucinate references and may fill in plausible details from titles or abstracts of papers they never read, worse for the smaller local-weights models that privacy-aware researchers must use. sciwrite-lint applies the linting paradigm from software engineering to citation verification: it runs entirely on the researcher's machine (free public databases, a single consumer GPU, and open-weights models), is fast enough to re-lint between revisions so authors catch problems at the source while drafting, and serves journals and reviewers as an automated first pass. The pipeline checks reference existence, metadata accuracy, retraction status, and claim support, traverses one level into cited papers' bibliographies, and produces per-reference reliability scores. We evaluate on 30 unseen papers (arXiv and bioRxiv) with error injection and LLM-adjudicated false-positive analysis. The same linting workflow extends to internal consistency: numbers in text vs. tables, abstract vs. body, figure captions vs. content, statistical results vs. their verbal interpretation, plus structural cross-references (dangling cites, orphan references). As a separate experimental contribution we also propose SciLint Score: citation-chain integrity combined with a contribution component operationalizing five philosophy-of-science frameworks (Popper, Lakatos, Kitcher, Laudan, Mayo).
Figures & tables
| CiteAudit | CiteVerifier | RefChecker | SemanticCite | Publisher † | Commercial ‡ | sciwrite-lint | |
| Scope | |||||||
| Ref. existence | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Metadata accuracy | ✓ | ✓ | ✓ | ✓ | |||
| Matching engine ∗∗ | ✓ | ||||||
| Retraction detection | ✓ | ✓ | |||||
| Claim–citation support | ✓ | ✓ | ✓ |
| Function | Framework | What it does | |
|---|---|---|---|
| Evidence | Popper | Supports a specific falsifiable claim | 1.0 |
| Contrast | Mayo | Tested against, improved upon, disagreed with | 0.9 |
| Method | Laudan | Methodology or technique provenance | 0.8 |
| Definition | — | Establishes terminology | 0.7 |
| Example | — | Illustrative instance of a broader point | 0.6 |
| Attribution | Laudan | Credits origin of an idea or concept | 0.5 |
| Signal | Score |
|---|---|
| T1 (API-verified + full text) | 0.9 |
| T2 (API-verified, no full text) | 0.7 |
| T3 (not found in APIs) | 0.3 |
| Retracted | 0.0 |
| Expression of Concern (multiplier) | |
| Per metadata mismatch (title/author/year/venue) | each |
| Check | What it catches |
|---|---|
| Text checks (deterministic, no services) | |
| dangling-cite | \cite{key} has no matching bib entry |
| dangling-ref | \ref{X} has no matching \label{X} |
| unreferenced-figure | Figure label defined but never cross-referenced |
| Pairwise LLM checks (section pairs, vLLM) | |
| cross-section-consistency | Numbers, claims, framing drift between sections |
| Choice | Value | What it controls |
|---|---|---|
| 0.2 each (equal) | Contribution axis weights; not yet calibrated per paper type | |
| 0.2–1.0 (Table 2 ) | Citation purpose weights in referencing quality | |
| T1/T2/T3 scores | 0.9/0.7/0.3 | Reference integrity by verification tier |
| Mismatch penalty | each | Per-field metadata accuracy deduction |
| Retracted score | 0.0 | Hard floor for retracted references |
| Base model | Qwen3 8B | All LLM calls; no fine-tuning applied |
| Paper | Score | Int. | Emp. | Prog. | Unif. | Prob. | Sev. |
|---|---|---|---|---|---|---|---|
| LIGO (2016) | 0.570 | 1.00 | 0.59 | 0.51 | 0.75 | 0.33 | 0.66 |
| Reinhart-Rogoff (2010) | 0.553 | 1.00 | 0.77 | 0.33 | 0.67 | 0.33 | 0.67 |
| Graphene (2004) | 0.536 | 1.00 | 0.73 | 0.80 | 0.00 | 0.25 | 0.90 |
| Transformer (2017) | 0.512 | 1.00 | 0.54 | 0.36 | 0.86 | 0.25 | 0.55 |
| Camerer (2018) | 0.512 | 1.00 | 0.91 | 0.33 | 0.00 | 0.33 | 0.98 |
| LK-99 (2023) | 0.281 | 1.00 | 0.71 | 0.81 | 0.00 | 0.00 | 0.83 |
Citation Verification
Citation verification checks whether cited sources exist, are accurately represented, and actually support the claims attached to them.
See all 49 papers