citesure 0.2: CourtListener case law and CJK titles

2026-07-23 · SybilGambleyyu

LLM-written bibliographies do not stop at arXiv preprints. Law review drafts invent reporter cites; multilingual papers mangle Chinese titles. citesure 0.2 extends the integrity gate into those failure modes with evidence, not slogans.

US case law via CourtListener

References that look like court cases — @jurisdiction entries, Plaintiff v. Defendant titles, or reporter strings such as 347 U.S. 483 in howpublished — are resolved against the Free Law Project CourtListener search API. Ranking prefers an exact reporter cite over companion orders and U.S. Law Week listings, so Brown lands on 347 U.S. 483 rather than a later procedural cite.

@jurisdiction{brown1954,
  title        = {Brown v. Board of Education},
  year         = {1954},
  howpublished = {347 U.S. 483},
}

citesure check examples/packs/us-case-law.bib
citesure warm-cache cases.bib   # caches CourtListener hits

Unauthenticated search is throttled; set COURTLISTENER_TOKEN for higher limits. A law-review CI template lives at templates/journal/law-review.yml.

CJK-aware matching

Title normalization uses NFKC and fullwidth folding; CJK-heavy strings use character-level similarity instead of English token tricks. Claim scoring extracts CJK bigrams so Chinese claims against Chinese abstracts are not silently empty.

Evidence

Install

pip install "git+https://github.com/SybilGambleyyu/citesure.git[pdf]"
# or
pip install https://github.com/SybilGambleyyu/citesure/releases/download/v0.2.7/citesure-0.2.7-py3-none-any.whl

Overview: citesure: stop shipping hallucinated citations · Source: GitHub · Demo: workers.dev