{
  "title": "TextSight false-positive rate on human-written academic English (2026)",
  "publisher": "Lacewing Technologies (textsight.ai)",
  "licence": "CC BY 4.0",
  "n_documents": 1180,
  "n_by_group": {
    "esl": 759,
    "native": 421
  },
  "n_by_country": {
    "China": 42,
    "Japan": 85,
    "South Korea": 101,
    "Spain": 80,
    "Iran": 145,
    "United Kingdom": 102,
    "Italy": 71,
    "United States": 106,
    "Turkey": 82,
    "Australia": 51,
    "Ireland": 81,
    "Brazil": 153,
    "New Zealand": 81
  },
  "scoring_errors_excluded": 0,
  "source": "PubMed Central Open Access subset, CC BY / CC0 only",
  "publication_year_filter": 2018,
  "provenance_argument": "Every document was published in 2018. The GPT-3 API opened mid-2020 and ChatGPT launched 2022-11-30, so authorship pre-dates the models. Every AI flag on this corpus is therefore a false positive by construction.",
  "group_assignment": "First-author affiliation country, used as a PROXY for author first language. Papers carrying any affiliation from the opposing language group were excluded, so a US co-author cannot place a paper in the second-language arm and vice versa.",
  "text_preparation": "Abstracts only. Journal structural labels (Abstract, Background, Methods, Results and similar) stripped identically from both arms, because they were unevenly distributed (15.7% of native vs 4.3% of second-language documents opened with one) and are typesetting rather than authored prose. Length band 150-400 words. Non-Latin-script and results-table abstracts dropped.",
  "detector": {
    "endpoint": "/internal/analyze, mode=full",
    "decision_rule": "verdict.label == 'AI-Generated', which is the production decision. server/services/detection.ts only selects the wording after the model has decided.",
    "determinism": "Verified before the run: identical text scored 3 times returned identical values (sd = 0)."
  },
  "known_limitations": [
    "Affiliation country is a proxy for first language, not a measurement of it.",
    "Academic abstracts are frequently copy-edited by journals or paid editing services, which moves second-language prose toward native norms and therefore biases the measured gap DOWNWARD.",
    "Academic abstract register only. Does not generalise to student essays, blog posts or social media.",
    "Single publication year (2018) and a single detector version.",
    "The detector is English-only and this study concerns English-surface text only."
  ],
  "files": {
    "textsight-fpr-2026-per-document.csv": {
      "sha256": "e21dc3ab12f3b31f7ab7b1bbdbe5836478d47e3e2577693d6039d91daf645b2c",
      "bytes": 217716
    },
    "reproduce_stats.py": {
      "sha256": "b5c6e7c1d48a458736e5f05d521ab111ff681b18c2be1a042afbaab3807837dc",
      "bytes": 5920
    }
  },
  "analysis": {
    "script": "reproduce_stats.py",
    "regenerates": "Every published figure, from the per-document CSV, using only the Python standard library.",
    "group_difference_interval": "Country-cluster bootstrap over the 13 affiliation countries, 20000 resamples, seed 20260901. Abstracts from one country share journals, fields and copy-editing conventions, so a document-level bootstrap understates the standard error for a GROUP-level claim. The document-level interval is also printed by the script because the choice of method changes whether the interval excludes zero."
  },
  "corrections": [
    {
      "date": "2026-09-01",
      "what": "Corrected the 95% confidence interval on the second-language minus native difference from [-9.9, +2.1] to [-7.8, +0.7].",
      "why": "The published interval could not be reproduced from the released CSV by any standard method. The point estimate (-3.46pp) and the conclusion (the interval contains zero, so no significant difference) are unchanged."
    },
    {
      "date": "2026-09-01",
      "what": "Removed corpus.jsonl from the file list.",
      "why": "It carried a checksum in this manifest but was never published and returned HTTP 404."
    }
  ]
}
