# CiteWarden — Evidence & Provenance Log

Zero-invention policy: every factual claim and every shipped data row in this project is traceable
to a source below. All checks were executed at build time (2026-09-16) and are reproducible from
`research/`.

## 1. The case study: Mata v. Avianca, Inc.

| Claim | Value | Source | Verified |
|---|---|---|---|
| Case name & court | Mata v. Avianca, Inc., S.D.N.Y. | CourtListener search API `type=r`, docket_id 63107798 | ✅ live API |
| Docket number | 1:22-cv-01461, filed 2022-02-22 | CourtListener API result field `docketNumber` | ✅ live API |
| Judge | P. Kevin Castel | CourtListener API field `assignedTo` + opinion caption | ✅ live API + PDF |
| Opinion cite | 678 F. Supp. 3d 443 (S.D.N.Y. 2023) | Published opinion header (Berkeley Law archived PDF) | ✅ PDF text |
| Sanction | $5,000, Rule 11, attorneys + firm jointly & severally | Opinion text (search "$5,000" in PDF p.17-19) | ✅ PDF text |
| Six fabricated decisions | Varghese; Shaboon; Peterson; Martinez; Estate of Durden; Miller | Order ¶36: "…were generated by ChatGPT and do not exist" | ✅ PDF text |
| Citations as filed | Verbatim strings in `assets/js/landmark.js → KNOWN_FABRICATED` | Order ¶13 list (April 11, 2023 order) | ✅ PDF text |
| Primary PDF | https://www.law.berkeley.edu/wp-content/uploads/archive/2025/12/Mata-v-Avianca-Inc.pdf | fetched 2026-09-16, HTTP 200, 23 pages | ✅ HTTP 200 |

Note: the order's ¶36 lists the six short names; the ¶13 list gives the exact citation strings; both
were extracted programmatically with PyMuPDF from the archived PDF (script output preserved in the
session build log; the PDF itself is public).

## 2. Landmark case database (464 rows)

- Source: Wikipedia, "List of landmark court decisions in the United States" (rendered HTML via the
  MediaWiki API, retrieved 2026-09-16).
- Build: `research/build_landmarks.py` parses `<li>` entries → (name, vol, page, year).
- Acceptance checks per row:
  1. U.S. Reports volume within 1–605 (605 = current final volume, 2026);
  2. decision year within 1791–2026;
  3. volume-era consistency against 48 independently documented anchor volumes
     (e.g. 60→1857 *Dred Scott*, 163→1896 *Plessy*, 410→1973 *Roe*, 603→2024 *Loper Bright*),
     piecewise-linear, ±4 years tolerance;
  4. non-empty plausible name.
- Result: **464 verified**, 1 dropped (volume 609 — beyond bound; conservative).
- The dataset ships as `assets/js/data/landmarks.json` with source + retrieval date embedded.
- Known limitation (documented, not hidden): Wikipedia is a tertiary source. The list is
  well-policed, the volume/page fields are objective and checkable, and the app also links each
  match to its authoritative record. Full primary-source re-verification (CourtListener token) is a
  stated roadmap item.

## 3. UK/EU statute lists

- Source: English Wikipedia full article text via MediaWiki API, retrieved 2026-09-16.
- UK acts: article must exist and the exact "Name Year" string must appear → 8 verified
  (Equality Act 2010, Human Rights Act 1998, Data Protection Act 2018, Freedom of Information Act
  2000, Companies Act 2006, Consumer Rights Act 2015, Employment Rights Act 1996, Safeguarding
  Vulnerable Groups Act 2006).
- EU acts: ELI identifier must appear in the article → 3 verified (GDPR 2016/679, Digital Services
  Act 2022/2065, Digital Markets Act 2022/1925).
- **Dropped honestly**: EU AI Act (2024/1689) and EU Data Act (2023/2854) — ELI id not found in the
  fetched article text at build time. They are not in the shipped list.

## 4. Live API endpoints (CORS verification, 2026-09-16)

| Endpoint | Purpose | Status |
|---|---|---|
| api.crossref.org/works/{doi} | DOI registry | HTTP 200, `access-control-allow-origin: *` |
| api.openalex.org/works/doi:{doi} | scholarly fallback incl. arXiv mirrors | HTTP 200, CORS open |
| eutils.ncbi.nlm.nih.gov esummary | PubMed | HTTP 200, `access-control-allow-origin: *` |
| ecfr.gov/api/versioner/v1/structure | CFR parts | HTTP 200, `access-control-allow-origin: *` |
| en.wikipedia.org/w/api.php (+`origin=*`) | act existence | HTTP 200, CORS via origin param |
| export.arxiv.org | arXiv | HTTP 200 but **no CORS header** → not called from browser; arXiv verified via OpenAlex DOI mirror instead |
| courtlistener.com api/rest/v4/search | case metadata | works anonymously; deeper endpoints need free token → not bundled |

## 5. What CiteWarden does NOT claim

- Amber verdicts are explicitly "unverifiable", never "fake".
- The landmark DB match is a convenience, not a registry: misses are amber.
- The only fabrication assertions are: (a) forensic impossibilities (volume/era/year bounds),
  (b) documented watchlist hits, (c) registry 404s (Crossref+OpenAlex for DOIs, eCFR for CFR parts).
