{
  "_id": "6a5177609b92047c28d509bf",
  "Package": "retraction",
  "Title": "Detect Retracted References in Documents and Bibliographies",
  "Version": "0.1.0",
  "Authors@R": "person(\"Ahmad\", \"Sofi-Mahmudi\", email = \"a.sofimahmudi@gmail.com\",\nrole = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0001-6829-0823\"))",
  "Description": "Scans manuscripts, bibliographies, and reference lists for\ncitations to retracted publications so that authors can avoid\nciting retracted work. 'retraction' reads bibliographic formats\n(BibTeX, BibLaTeX, CSL-JSON, RIS, EndNote XML) and document\nformats (R Markdown, Quarto, 'LaTeX', Markdown, HTML, JATS XML,\nWord, and PDF), extracts and normalizes identifiers, and checks\nthem against retraction data. The default data source is the\nRetraction Watch database served through the\n'XeraRetractionTracker' API; 'Crossref', 'OpenAlex', 'Europe\nPMC', 'PubMed', 'DataCite', and a preprint source ('arXiv' and\n'bioRxiv' withdrawals) are available as additional sources\n('OpenAlex' retraction data is itself derived from Retraction\nWatch). Within each source, matching proceeds from exact\nDigital Object Identifier (DOI) and 'PubMed' identifier lookups\nto fuzzy title matching, and results are returned as a tidy\ntable with a match-quality score and an optional self-contained\nHTML report.",
  "License": "GPL-3",
  "URL": "https://github.com/choxos/retraction,\nhttps://choxos.github.io/retraction/",
  "BugReports": "https://github.com/choxos/retraction/issues",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Config/roxygen2/version": "8.0.0",
  "LazyData": "true",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-10 22:47:58 UTC",
    "User": "root"
  },
  "Author": "Ahmad Sofi-Mahmudi [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-6829-0823>)",
  "Maintainer": "Ahmad Sofi-Mahmudi <a.sofimahmudi@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-10 20:20:08 UTC",
  "RemoteUrl": "https://github.com/cran/retraction",
  "RemoteRef": "HEAD",
  "RemoteSha": "99c0a1fd6cbbefb040f9051c8b40cbefef2965a7",
  "_user": "cran",
  "_type": "src",
  "_file": "retraction_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/18c0730919512b0620947654ad7b42e29eeb38f1eedd73723725e7d4ae323833",
  "_filesize": 465831,
  "_sha256": "18c0730919512b0620947654ad7b42e29eeb38f1eedd73723725e7d4ae323833",
  "_expires": "2026-10-18T22:51:10.000Z",
  "_created": "2026-07-10T22:47:58.000Z",
  "_published": "2026-07-10T22:51:12.623Z",
  "_jobs": [
    {
      "job": 86479712147,
      "time": 149,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8241289245"
    },
    {
      "job": 86479712149,
      "time": 156,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8241290715"
    },
    {
      "job": 86479244272,
      "time": 216,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8241249127"
    },
    {
      "job": 86479712148,
      "time": 119,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8241281190"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29128545938",
  "_status": "success",
  "_upstream": "https://github.com/cran/retraction",
  "_commit": {
    "id": "99c0a1fd6cbbefb040f9051c8b40cbefef2965a7",
    "author": "Ahmad Sofi-Mahmudi <a.sofimahmudi@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1783714808
  },
  "_maintainer": {
    "name": "Ahmad Sofi-Mahmudi",
    "email": "a.sofimahmudi@gmail.com",
    "login": "choxos",
    "linkedin": "in/asofimahmudi",
    "orcid": "0000-0001-6829-0823",
    "twitter": "@asofimahmudi",
    "description": "GNU/Linux Enthusiast, Open Science Advocate",
    "uuid": 6255852
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "stringdist",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "arrow",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "furrr",
      "role": "Suggests"
    },
    {
      "package": "future",
      "role": "Suggests"
    },
    {
      "package": "httptest2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pdftools",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "rstudioapi",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "stringi",
      "version": ">= 1.5.3",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "writexl",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-28",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-07-10"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "choxos",
      "count": 1,
      "uuid": 6255852
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 617,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/retraction"
  },
  "_devurl": "https://github.com/choxos/retraction",
  "_pkgdown": "https://choxos.github.io/retraction/",
  "_searchresults": 4,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/retraction.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-07-10"
    }
  ],
  "_exports": [
    "annotate_bib",
    "author_retractions",
    "badge_json",
    "check_bib",
    "check_dois",
    "check_file",
    "check_included_studies",
    "check_pmc",
    "check_preprint",
    "check_refs",
    "check_zotero",
    "classify_timing",
    "compare_sources",
    "evaluate_policy",
    "explain_result",
    "export_result",
    "exposure_score",
    "fail_policy",
    "journal_retractions",
    "list_backends",
    "manuscript_date_of",
    "normalize_doi",
    "normalize_pmcid",
    "normalize_pmid",
    "normalize_title",
    "pmc_articles",
    "pmc_fetch_xml",
    "primary_reason_bucket",
    "reason_buckets",
    "reason_summary",
    "render_report",
    "retracted",
    "retraction_addin_check_active",
    "retraction_app",
    "retraction_cache_dir",
    "retraction_clear_cache",
    "retraction_knit_check",
    "retraction_main",
    "retraction_scan",
    "retraction_snapshot_parquet",
    "retraction_sync",
    "retraction_watch_diff",
    "retraction_watch_save",
    "snapshot_info",
    "suggest_alternatives"
  ],
  "_datasets": [
    {
      "name": "retraction_example",
      "title": "Example references for demonstrating retraction checks",
      "object": "retraction_example",
      "class": [
        "data.frame"
      ],
      "fields": [
        "doi",
        "title",
        "year",
        "note"
      ],
      "rows": 3,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "annotate_bib",
      "title": "Annotate a BibTeX/BibLaTeX file, marking retracted entries.",
      "topics": [
        "annotate_bib"
      ]
    },
    {
      "page": "as_tibble.retraction_result",
      "title": "Coerce a retraction result to a plain tibble.",
      "topics": [
        "as_tibble.retraction_result"
      ]
    },
    {
      "page": "as.data.frame.retraction_result",
      "title": "Coerce a retraction result to a data frame.",
      "topics": [
        "as.data.frame.retraction_result"
      ]
    },
    {
      "page": "author_retractions",
      "title": "Retractions attributed to an author.",
      "topics": [
        "author_retractions"
      ]
    },
    {
      "page": "badge_json",
      "title": "Write a shields.io endpoint badge for a checked result.",
      "topics": [
        "badge_json"
      ]
    },
    {
      "page": "check_bib",
      "title": "Check a BibTeX or BibLaTeX bibliography for retracted references",
      "topics": [
        "check_bib"
      ]
    },
    {
      "page": "check_dois",
      "title": "Check a set of DOIs or PMIDs for retraction",
      "topics": [
        "check_dois"
      ]
    },
    {
      "page": "check_file",
      "title": "Check a document or bibliography file for retracted references",
      "topics": [
        "check_file"
      ]
    },
    {
      "page": "check_included_studies",
      "title": "Check the included studies of a systematic review or meta-analysis.",
      "topics": [
        "check_included_studies"
      ]
    },
    {
      "page": "check_pmc",
      "title": "Check the reference lists of open-access PubMed Central articles",
      "topics": [
        "check_pmc"
      ]
    },
    {
      "page": "check_preprint",
      "title": "Check whether a preprint has been withdrawn",
      "topics": [
        "check_preprint"
      ]
    },
    {
      "page": "check_refs",
      "title": "Check a data frame of references for retraction",
      "topics": [
        "check_refs"
      ]
    },
    {
      "page": "check_zotero",
      "title": "Check a Zotero library for retracted references",
      "topics": [
        "check_zotero"
      ]
    },
    {
      "page": "classify_timing",
      "title": "Classify each citation relative to the document's date.",
      "topics": [
        "classify_timing"
      ]
    },
    {
      "page": "compare_sources",
      "title": "Summarize cross-source (dis)agreement in a result",
      "topics": [
        "compare_sources"
      ]
    },
    {
      "page": "evaluate_policy",
      "title": "Evaluate a checked result against a fail policy",
      "topics": [
        "evaluate_policy"
      ]
    },
    {
      "page": "explain_result",
      "title": "Explain the verdict for each reference in a result",
      "topics": [
        "explain_result"
      ]
    },
    {
      "page": "export_result",
      "title": "Export a checked result to CSV, JSON, or Excel.",
      "topics": [
        "export_result"
      ]
    },
    {
      "page": "exposure_score",
      "title": "Retraction-exposure summary, with denominator diagnostics.",
      "topics": [
        "exposure_score"
      ]
    },
    {
      "page": "fail_policy",
      "title": "A fail policy shared by the CLI, GitHub Action, and knit gate.",
      "topics": [
        "fail_policy"
      ]
    },
    {
      "page": "journal_retractions",
      "title": "Retraction summary for a journal.",
      "topics": [
        "journal_retractions"
      ]
    },
    {
      "page": "list_backends",
      "title": "Names of all registered backends.",
      "topics": [
        "list_backends"
      ]
    },
    {
      "page": "manuscript_date_of",
      "title": "Best-effort authoring date of a manuscript file (git commit date, else mtime).",
      "topics": [
        "manuscript_date_of"
      ]
    },
    {
      "page": "normalize_doi",
      "title": "Normalize a DOI.",
      "topics": [
        "normalize_doi"
      ]
    },
    {
      "page": "normalize_pmcid",
      "title": "Normalize a PubMed Central identifier",
      "topics": [
        "normalize_pmcid"
      ]
    },
    {
      "page": "normalize_pmid",
      "title": "Normalize a PubMed identifier to bare digits.",
      "topics": [
        "normalize_pmid"
      ]
    },
    {
      "page": "normalize_title",
      "title": "Normalize a title for fuzzy comparison only.",
      "topics": [
        "normalize_title"
      ]
    },
    {
      "page": "pmc_articles",
      "title": "Per-article open-access summary from a 'check_pmc()' result",
      "topics": [
        "pmc_articles"
      ]
    },
    {
      "page": "pmc_fetch_xml",
      "title": "Retrieve open-access PMC full-text XML for a PMCID",
      "topics": [
        "pmc_fetch_xml"
      ]
    },
    {
      "page": "primary_reason_bucket",
      "title": "Primary (lossy) reason bucket: the first matching bucket.",
      "topics": [
        "primary_reason_bucket"
      ]
    },
    {
      "page": "print.retraction_result",
      "title": "Print a retraction result.",
      "topics": [
        "print.retraction_result"
      ]
    },
    {
      "page": "print.retraction_review",
      "title": "Print a systematic-review check, leading with denominators.",
      "topics": [
        "print.retraction_review"
      ]
    },
    {
      "page": "reason_buckets",
      "title": "All matching reason buckets (multi-label).",
      "topics": [
        "reason_buckets"
      ]
    },
    {
      "page": "reason_summary",
      "title": "Tabulate primary reason buckets across a checked result.",
      "topics": [
        "reason_summary"
      ]
    },
    {
      "page": "render_report",
      "title": "Render a retraction result as an HTML or Markdown report",
      "topics": [
        "render_report"
      ]
    },
    {
      "page": "retracted",
      "title": "Subset of references flagged as retracted (or otherwise notable).",
      "topics": [
        "retracted"
      ]
    },
    {
      "page": "retraction_addin_check_active",
      "title": "RStudio addin: check retractions in the active source document.",
      "topics": [
        "retraction_addin_check_active"
      ]
    },
    {
      "page": "retraction_app",
      "title": "Launch the retraction triage Shiny app",
      "topics": [
        "retraction_app"
      ]
    },
    {
      "page": "retraction_cache_dir",
      "title": "Location of the retraction cache directory",
      "topics": [
        "retraction_cache_dir"
      ]
    },
    {
      "page": "retraction_clear_cache",
      "title": "Clear the package cache",
      "topics": [
        "retraction_clear_cache"
      ]
    },
    {
      "page": "retraction_example",
      "title": "Example references for demonstrating retraction checks",
      "topics": [
        "retraction_example"
      ]
    },
    {
      "page": "retraction_knit_check",
      "title": "Fail (or warn) a knit when the document cites retracted work.",
      "topics": [
        "retraction_knit_check"
      ]
    },
    {
      "page": "retraction_main",
      "title": "CLI main: scan files and exit per a fail policy.",
      "topics": [
        "retraction_main"
      ]
    },
    {
      "page": "retraction_scan",
      "title": "Scan files for retracted citations.",
      "topics": [
        "retraction_scan"
      ]
    },
    {
      "page": "retraction_snapshot_parquet",
      "title": "Export the local snapshot to a Parquet file",
      "topics": [
        "retraction_snapshot_parquet"
      ]
    },
    {
      "page": "retraction_sync",
      "title": "Download or update a local snapshot of the retraction corpus",
      "topics": [
        "retraction_sync"
      ]
    },
    {
      "page": "retraction_watch_diff",
      "title": "Report references newly flagged since the saved baseline.",
      "topics": [
        "retraction_watch_diff"
      ]
    },
    {
      "page": "retraction_watch_save",
      "title": "Save a checked result as a named watch baseline.",
      "topics": [
        "retraction_watch_save"
      ]
    },
    {
      "page": "snapshot_info",
      "title": "Report the local snapshot's data version and freshness",
      "topics": [
        "snapshot_info"
      ]
    },
    {
      "page": "suggest_alternatives",
      "title": "Suggest alternatives to a retracted work",
      "topics": [
        "suggest_alternatives"
      ]
    },
    {
      "page": "summary.retraction_result",
      "title": "Summarize a retraction result as a status tally.",
      "topics": [
        "summary.retraction_result"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/retraction/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/retraction/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cli",
    "curl",
    "glue",
    "httr2",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "pillar",
    "pkgconfig",
    "R6",
    "rappdirs",
    "rlang",
    "stringdist",
    "sys",
    "tibble",
    "utf8",
    "vctrs",
    "withr",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "retraction.Rmd",
      "filename": "retraction.html",
      "title": "Getting started with retraction",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Checking a file",
        "Checking identifiers or a data frame",
        "PubMed Central articles",
        "Choosing sources",
        "Offline mode",
        "Identifier normalization"
      ],
      "created": "2026-07-10 20:20:08",
      "modified": "2026-07-10 20:20:08",
      "commits": 1
    },
    {
      "source": "calibration.Rmd",
      "filename": "calibration.html",
      "title": "How the matching thresholds were calibrated",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The labeled corpus",
        "Result 1: the assertion gate never false-accuses",
        "Result 2: 0.90 is the empirical sweet spot for surfacing",
        "Conclusion",
        "Reproducing"
      ],
      "created": "2026-07-10 20:20:08",
      "modified": "2026-07-10 20:20:08",
      "commits": 1
    },
    {
      "source": "workflows.Rmd",
      "filename": "workflows.html",
      "title": "Workflows: CI gates, reviews, monitoring, and pipelines",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Gate a manuscript render",
        "Fail CI on retracted citations",
        "Systematic reviews",
        "Monitor a bibliography over time",
        "Multiple sources",
        "Interpret and export",
        "Offline and at scale",
        "Reproducible pipelines with targets"
      ],
      "created": "2026-07-10 20:20:08",
      "modified": "2026-07-10 20:20:08",
      "commits": 1
    }
  ],
  "_score": 3.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "retraction",
  "_universes": [
    "cran",
    "choxos"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-07-10T22:50:30.000Z",
      "distro": "resolute",
      "commit": "99c0a1fd6cbbefb040f9051c8b40cbefef2965a7",
      "fileid": "https://r2.ropensci.org/8734b74af380a9ab1234e18b8408a618eff7a25348592b116a1caee16e188ad5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29128545938"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-07-10T22:50:34.000Z",
      "distro": "resolute",
      "commit": "99c0a1fd6cbbefb040f9051c8b40cbefef2965a7",
      "fileid": "https://r2.ropensci.org/7f42fd0c2feecb86e80ba09f40bf68c9b6b8f7db1fb2792b759b1445eb3b3da9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29128545938"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-07-10T22:50:18.000Z",
      "commit": "99c0a1fd6cbbefb040f9051c8b40cbefef2965a7",
      "fileid": "https://r2.ropensci.org/979c446e5cb601049a252e74e8d464f1df2e57c470bdf8cd05a806bdecfdeeca",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29128545938"
    }
  ]
}