Agent 02 · Methodology

How the Citation Verifier works.

The Citation Verifier is a multi-pass pipeline that reads a brief, motion, or memorandum and produces two deliverables: a marked-up source file (.docx with tracked changes) and a sign-off-ready form-check report. Every finding is anchored to a specific Bluebook 22e rule or table number so a drafting attorney can audit the call against the Bluebook itself.

The protocol it applies is published as a Claude Skill — Citation Verification Protocol v1.1 (MIT-licensed) — and is the authority for every classification, rule mapping, and severity decision. The agent does not invent rules; it applies the protocol.

Pipeline

Pass 1
deterministic code

Citation extraction

Pulls plain text from the upload — body and footnotes from .docx via mammoth + word/footnotes.xml. A small set of regex patterns flag anything that looks like a citation: case cites by reporter abbreviation, statutes (U.S.C. + state codes), regulations (C.F.R.), constitutional cites, and the short forms (Id., supra, short-form case). High recall is the goal — Pass 2 is the actual classifier.

Each candidate carries character offsets and footnote number so downstream markup lands at the right spot.

Pass 2
Sonnet 4.6

Classification + rule mapping

Each candidate is sent to Claude Sonnet 4.6 with the protocol skill cached as the system prompt — so every additional candidate after the first reads the protocol at a 90% discount via Anthropic's prompt cache. Sonnet decides the citation type, parses out the components (case name, volume, reporter, pin-cite, etc.), and emits the governing rule and table pin-cites (e.g. BB R. 10; T1.1; T6; T7).

Candidates are batched 15 at a time per call to keep cache hit rate near 100% across a long document.

Pass 2.5
CourtListener

Existence check

Every classified case citation is queried against CourtListener's public search API. If the top result's reporter, volume, and first page exactly match the cited components, the citation is marked existence_verified. If no result is found or no result matches, the citation gets a review-severity flag pointing at the CourtListener search URL so the drafting attorney can verify manually before filing.

The strongest language we use, ever: "could not be located in CourtListener — please verify before filing." We never claim a citation is fake, hallucinated, or non-existent — only that we couldn't locate it. CourtListener does not include every state opinion, recent unpublished disposition, or sealed matter.

Pass 3
deterministic code

Bluebook table validators

Pure code, no LLM. The five validators run against the parsed citation components:

Each validator emits zero or more flags with severity, rule pin-cite, table pin-cite, and a ready-to-paste suggested fix.

Pass 4
Sonnet 4.6

Cross-citation judgment

Runs once per document with the entire classified citation list in view (no document body — just the structured metadata). Sonnet checks for things one citation at a time can't catch:

Pass 5
deterministic code

Output generation

Two artifacts, written to private storage with signed download URLs:

What we never claim

Privacy & privilege

Form check, not substantive review. Every finding records form-checking against Bluebook 22e only. Substantive accuracy of any cited authority remains the independent responsibility of the drafting and supervising attorneys. This report is attorney work product prepared in anticipation of filing.

← Back to the assistant