CiteNet

A phantom legal-citation detector that was never trained. – parameters, every nonzero weight written by hand, running on Core ML.
This check
–
–
One citation
–
p50, b1 on CPU, native Swift
Bulk
–
–
LePhantomCite eval
31 / 31
phantoms caught · 1 / 983 real cites flagged

Brief

phantom: the citation is impossible unrecognized reporter structurally possible (not proof the case exists)

Citations

Click a citation to see which hand-written neurons fired.

Speed

Check 1,000,000 citations on
–
Native Swift Core ML (bench/firehose): ANE b512 and GPU b8192, two threads per unit.
Native Swift benchmark, M5 Pro (bench/bench.swift)

  

How the weights were written

Nothing was trained. citenet/spec.py lists reporters, series, courts, West regions and approximate volume-to-year timelines; citenet/net.py compiles each entry into specific filters and ReLU neurons. Design used only the LePhantomCite aux_train split. The eval split was scored once with the frozen v1.0 weights: 31/31 phantoms, 3/983 false flags. Two of those were tokenizer bugs, fixed in v1.1 (shown here). The remaining flag, 652 A.2d 634 (D.C. Cir. 1995), pairs a state reporter with a federal circuit.

Limits: a string-only model checks that a citation could exist. LePhantomCite's non-existent citations are structurally impossible (F.5th, S.W.4th), so it catches all of them. Real LLM fakes such as the Mata v. Avianca cases copy valid formats, so they pass. Catching those needs a case-law lookup.