Screen for problematic papers (PPS-based)¶
paperful screen flags items in your library using public signals aligned with the Problematic Paper Screener (PPS). It does not scrape the PPS “all papers” APEX list and does not decide misconduct — it surfaces evidence for you to review.
What it checks¶
Signal |
Source |
|---|---|
Retraction / withdrawal / expression of concern |
Crossref |
PubPeer comments |
Optional |
Tortured phrases, SCIgen, Mathgen, suspect templates |
Local PDF/text vs fingerprint lists (cached under |
Tortured-phrase hits follow PPS practice: 5+ fingerprint matches, or one bundled “obvious” phrase (for example sign to clamor). Other families flag on any match.
CLI¶
uv run paperful screen -C "My Collection" # report only
uv run paperful screen -C "My Collection" --strict
uv run paperful screen -C "My Collection" --apply # tag + child note
uv run paperful screen --refresh # bypass status cache; re-fetch CSVs
Scope flags (--library, --year-from / --year-to, -T, --limit /
-n, --profile) and --format json match the other completeness verbs
(--json is the legacy findings array). Reports land in
state/runs/<stamp>-screen.json. Status lookups are cached under state/pps/status/; fingerprint CSVs under state/pps/fingerprints/.
Matching is fully local once lists are on disk. Run paperful screen --refresh (or any online screen/critique that fetches CSVs) to populate the cache; copy the four families from PPS into [screen].fingerprint_dir as tortured.csv, scigen.csv, mathgen.csv, and suspect.csv if you want an air-gapped source of truth. Offline critique and screen use cache or fingerprint_dir and do not call IRIT.
Write-back (--apply)¶
Parent tag prefix
paperful pps:(replaced on re-run)One child note tagged
[screen].tag(defaultpaperful-pps) with links and matched phrases
Bibliographic fields are never changed.
paperful critique reuses the same Crossref / OpenAlex status cache for
cited works in a manuscript bibliography (cited_retracted,
cited_withdrawn, cited_expression_of_concern). See critique.
Config¶
See [screen] in config.md and config.example.toml.
Attribution¶
Method reference: Cabanac, Labbé, & Magazinov (2022), arXiv:2210.04895.