← Back to projects

The Statute Engine

A deterministic preliminary legal research tool

What this does

The engine takes a charging document and screens each count against the elements of the statute that count cites. The output is a brief that ranks every count by review priority and shows which elements are not alleged. It is designed for preliminary research by legal professionals.

Origin

The engine evolved from a legal translation tool. It became apparent that a better use case for the tool was as a review priority engine. The blocker was verification. To confirm that the engine's findings were correct I would have needed a legal review team, which was a resource I did not have.

Validation

Dismissals and guilty pleas are labeled data. So I decided to test the engine on settled cases in the public record. The criteria were simple. It must fire on counts dismissed for pleading defects, and it must screen clean on counts that supported guilty pleas.

I ran it on United States v. Fischer, No. 1:21-cr-00234 (D.D.C.), pulled from the CourtListener RECAP archive. Count Three charged obstruction of an official proceeding, but it never alleged that Fischer did anything to evidence. No documents, no records, no objects. Section 1512(c)(2) requires that. Judge Nichols dismissed the count in March 2022, and the Supreme Court confirmed the reading in Fischer v. United States, 603 U.S. 480 (2024). The engine flags it CRITICAL.

The other six counts screened clean at LOW. For validation purposes this is just as important as the engine firing on the CRITICAL finding.

Fischer is one case. Across the full benchmark the engine is 25 for 25 and still being tested.

Deterministic

There is no model. The same document produces the same findings every time.

Earlier versions were not built this way. I audited my own code and found that using a model was changing the findings, so I removed it and tested the engine with an attacker model that fabricated findings and tried to suppress real ones. The results remained the same.

Gaps

Ten federal statutes. A count citing a statute without a pack comes back not screened.
Matching is keyword based, so an element pled in unusual language can be read as absent.

Status

10
federal statutes
215
tests
25 / 25
on real charging documents

Ten statutes, 215 tests, 25 for 25 on real charging documents. Each statute was built and checked individually.

The Brief

This is the file the legal professional receives. The Critical finding at the top of the brief is Count Three, which the judge deemed grounds for dismissal.