{"guidance_version":"1.20.7","rate_limits":{"model":"token bucket per principal, shared across all replicas, refilled continuously","funded_rpm":30,"free_rpm":5,"funded_threshold_credits":501,"batch_weight":{"rule":"POST /v1/cases/batch consumes ~1 token per 50 requested ids (minimum 1); a full 500-id batch costs 10 tokens","note":"a batch larger than your per-minute capacity is granted when your bucket is FULL (burst-through) — it never becomes a permanent 429"},"on_429":"honor the Retry-After header (also in the envelope as error.retry_after) and you will never see a second 429; weighted refusals make waits of 20-60s normal, so fixed 1s-backoff loops will burn their retry budget","anti_pattern":"a serial tight loop of GETs trips the limiter even at concurrency 1; use the batch endpoint for list workloads"},"absence_semantics":{"rule":"a NON-200 RESPONSE IS NOT ABSENCE. Only an explicit found:false entry (batch) or a case-not-found error envelope is a coverage statement. A 429/5xx recorded as 'not found' under-reported real coverage by ~60 points in a measured consumer incident","coverage_statement":"absence means 'not in the Verdict corpus' (post-release cluster or outside coverage) — NEVER a claim that the case does not exist","beta_blocks":"cited_for / authorship / disposition / treatment signals: an empty block means unrecorded-or-unrecognized, never 'none exists'; absence of a treatment signal is never clearance","liveness_control":"to prove the accusation lane is LIVE, cite a REAL volume with an impossible page — '410 U.S. 9187' returns not_found_in_covered_volume. An out-of-range volume ('923 U.S. 4471') is the wrong control: U.S. Reports ends at 572, so it reads as a coverage gap and gaps never accuse, which is correct and looks identical to a dead gate. A partner spent ten minutes believing our gate was off on exactly that control (1.19.4). 'Clean' and 'not checked' are indistinguishable without a control that must accuse","edition_lag":"since 1.20.7 (2026-09-14): a C.F.R. SECTION or PART absent from eCFR's latest edition at the DEFAULT date is accused only after a second signal. eCFR's edition dated D trails the Federal Register — a final rule published or effective on or after D can ADD a section that edition D cannot hold, and a partner's controlled pair (an agency order published the day after the edition, codifying a new section; the same article with a part-level wording verified) was accused. Now the Federal Register is searched for final rules published within 120 days before D or since, or effective on or after D: for a section, rules its index matches on the quoted number are read one by one until one's text names the section AS A SECTION (a bare decimal in a rule is not a section); for a lettered part, rules matching 'Part X' are read for the part; for a numeric part, any rule the Register records as affecting that part counts, unread. A rule that names it makes the absence a coverage GAP (reporter_not_covered, 1 credit) whose evidence names the document and the date to re-check, with data.unit.federal_register_document and data.unit.recheck_after (the later of its publication date and its indexed effective date; null when neither is on or after the edition — the effective date is then stated only in the document); an unreadable Register, more than 24 candidate rules, or an index page over 50 is a gap with the reason; no candidate, or candidates read that do not name it, leaves the accusation standing with the check recorded in verification.notes. A Register transport failure is not retried for a few minutes, during which every absence in that title and part is a gap. An explicit as_of is the caller's own date and is answered at that date WITHOUT the Register — pass one only when you mean that date. Items and appendix designators are unchanged. A cited number lying inside a subpart's listed range is not evidence the section exists — numbering gaps are ordinary. Cost: an absence at a default date now includes a Register round-trip (seconds; longer while candidate rules are read; cached for the day). Residual: a rule the Register indexes by neither a publication date within the window nor an effective date on or after D is not found, and so is a section created by REDESIGNATING a range (its new number is printed nowhere)"},"treatment_boundaries":{"since":"1.20.4 (2026-09-09); non-citable by rule added 1.20.5 (2026-09-10); how NOT to judge it, 1.20.6; the shapes a bar takes, 1.20.7","rule":"What NO citation graph can see, named beside the 'no claim check' boundary because partners measured it in the field: a judgment VACATED AS MOOT (no merits ruling overrules it); a case SUPERSEDED BY STATUTE or by the abolition of the body whose scheme it construed (the legislature acted, no opinion did); an opinion DEPUBLISHED or decertified on review (it stays real, findable and non-citable); agency GUIDANCE WITHDRAWN while its text did not change by a character (a pin check, a caption check and a text-stability re-fetch all pass, correctly); and an opinion NON-CITABLE BY RULE — barred from citation in any unrelated case from the moment it issued, by the issuing court's own rule (a memorandum opinion under a state appellate rule that says it 'shall not be cited or relied on for any reason in any unrelated case' is the shape). The fifth is different in kind: it is not displaced law at all — the opinion is correct, on point and scores HIGH on every relevance instrument BECAUSE it is on point — so a high relevance score is the aggravating factor, not a defence, and there is no later opinion for any graph to find. A treatment block with no signal on such a case is a coverage statement about a citation graph, never clearance — and for these five mechanisms a perfect graph would also be silent. Non-citability is judged against the issuing court's RULE, court by court, with the date the rule turns on: an 'unpublished' designation alone does not make an opinion non-citable (the federal appellate rule forbids courts to restrict citation of dispositions issued on or after 2007-01-01, and some circuits' local rules permit citing earlier ones for persuasive value — non-precedential, which is a status, not a bar). A publication-status field in a case database is NOT the test: it records whether the SOURCE regards an opinion as issued, not whether the ISSUING COURT permits citing it — a partner measured such a field at 0 of 37 recall on a known non-citable class (every barred memorandum opinion read 'Published'), and it fails silently in the reassuring direction. The evidence is the issuing court's own designation on the face of the opinion, read with the rule — never a quotation of the rule about another case (4 of 43 raw text hits were such quotations), and never a detector carried across courts: one court stamps an affirmative legend on a barred opinion, another's bar attaches to the ABSENCE of a certification, and the false-positive class differs with it (opinions filed unpublished and later certified). Read the rule, then the residue, per court. The signal is the RULE's operative sentence, never the document's label: across fourteen courts a partner read at source (a partner's reading, not ours), a detector keyed on the word 'memorandum' would be right in three and wrong in eleven — in Texas the memorandum opinion is the DEFAULT FORM of a fully precedential civil opinion (Tex. R. App. P. 47.4, 47.7(b)), and one numbered rule can treat docket types differently (47.7(a) governs criminal appeals, 47.7(b) civil), so read the subsection that governs the docket. A bar has SHAPES, and a per-case answer exists for the first three (from the opinion, its filing date and its authorship) and for none of the fourth: ABSOLUTE (decided by the opinion and the rule alone — Tennessee, California, Oregon); DATE-SPLIT (decided by the filing date; the legend is identical on both sides of the split — Hawaii, Massachusetts, Indiana); DATE-AND-AUTHORSHIP (Wisconsin: an unpublished opinion issued on or after 2009-07-01 may be cited for persuasive value only if AUTHORED — a per curiam or memorandum opinion is expressly not authored, so a date gate alone wrongly keeps every per curiam); CONDITIONAL (Nebraska: citable only if no published opinion would serve as well — a question about the rest of the corpus, so the same case is barred on one page and citable on another and no per-case verdict can be right). Beside bar-or-permit there is a DUTY: Georgia requires a physical-precedent opinion to be MARKED as such when cited — citable, but only with the disclosure. A jurisdiction whose rule nobody has read is UNEXAMINED, never 'permits'. A related mechanism a graph CAN in principle see but a text search cannot: ABROGATION — a higher court adopts the contrary rule, typically resolving a split between coordinate divisions, without expressly overruling the displaced decision; the displaced opinion's own text is silent about it by definition, so a judgment made from that opinion alone is structurally blind, and no phrase exists to search for. The mechanism a graph CAN reach is a later opinion that reverses, overrules, distinguishes or declines to follow, when the citing opinion is in the corpus and its edge is held (the secondary corpus graph's own coverage is stated in every block's window note)","example":"a page serving the entire losing side of a pre-2018 circuit split (four opinions, two later Supreme Court decisions) read well-sourced, on-topic and above every automated relevance floor; only a reader of the later decisions could see it. And three state memorandum opinions, correct and on topic, were being served as authority at relevance 0.60 while the rule they issued under forbade citing them in any unrelated case. A reader's finding is not a citator finding and is never served as one"},"disposition_consumption":{"gate_on":"in_part — a ruling is mixed only when an outcome carries in_part:true","never_gate_on":"len(outcomes) > 1 — MULTI-ACTION IS NOT MIXED. Real single dispositions parse to multiple actions: 'dismissed as improvidently granted' is ONE act (served as [dismissed]); 'affirmed; all pending motions denied' is an affirmance plus housekeeping; 'MODIFIED AND AFFIRMED' is one composite ruling","text_is_primary":"the verbatim text field is the authority; outcomes[] is a parsed convenience and may be empty when the recorded text does not parse","credit":"the gate-on-in_part rule and its examples were measured in the field by verdict.news"},"batch_usage":{"endpoint":"POST /v1/cases/batch (MCP: verdict_get_cases)","max_ids":500,"treatment":"since 1.20.3 treatment=true fans the SAME beta reliance-signal block verdict_get_case serves out to every FOUND record (data.cases[].case.treatment), billed at treatment_enrich per record a citation graph could compute (zero-rated principals: metered at list, charged 0). The ESCROW is taken at the ceiling — ids × (get_case + treatment_enrich) — and settles to found × get_case + data.treatment_enriched × treatment_enrich, so a 500-id treatment batch needs 2,000 credits on hand even when it settles far lower; verification.method names verdict_citation_graph when any record computed, and a treatment batch weighs twice a plain one against the rate bucket. Before 1.20.3 the batch omitted the block by design and a 62,726-record sweep needed 62,726 single calls on a shared rate bucket (a partner measured it at 35 hours). Every block names the graph window it derives from — the CURRENT secondary court-records corpus release for verdict:cl: records, the frozen corpus through the CAP window for verdict:cap: records — and a block with no signals is never clearance","id_grammar":"verdict:cap:<n> | verdict:cl:<n> — ASCII digits, no leading zeros, <=18 digits; non-canonical spellings reject the whole call with a 400 naming them (nothing is silently respelled, merged, or dropped)","dedupe":"exact-duplicate ids are merged; data.requested counts distinct ids","billing":"per FOUND record only — coverage gaps are never billed","replay":"an identical READ request replays the cached envelope only within 1m (transport-retry dedupe); after that it RE-EXECUTES against current data and bills again — reads stay fresh across corpus ships. Verification tools (citations/quotes/briefs/ai) replay for 24h. EVERY replayed envelope carries meter.replayed:true — when verifying that a corpus change landed, a replayed envelope is not evidence; vary the request (or wait out the window) to force a fresh execution"},"response_matching":{"raw_semantics":"data.citations[].raw depends on the REQUEST MODE. Text mode: raw is the eyecite-CORRECTED citation string ('606 U.S. ___ (2025)' in prose comes back '606 U.S. ___') and rows carry a span into YOUR text — match by span there. List mode (citations=[...]): raw is your input string VERBATIM and there is no span — equality against your own list is safe there. Text-mode shape-scan advisory rows carry the harvested original substring. The failure to avoid: equality-matching TEXT-mode raw against stored strings silently mis-buckets answered citations as unanswered (consumer-measured, 4 cites in one sweep).","mechanism_vs_source":"resolution.source names the CORPUS OF RECORD ('cl-corpus'; 'scdb-supplement'; absent = CAP, except tier-2-upgraded rows which carry tier:2 and a verdict:cl canonical id with no source key) — it does NOT name the deciding MECHANISM. Duplicate collapses and SCDB arbitration ride the corpus row they resolve and are named only in the evidence string, so crediting mechanisms from source under-reports them (a consumer measured an arbitration lane as 0 wins that way).","ambiguity_candidates":"an ambiguous_multiple_matches resolution carries candidates[] (each with canonical_id where the record is retrievable), candidates_total, and candidates_truncated — large collision sets list the FIRST candidates only, so a name-in-candidates gate must treat candidates_truncated:true as 'candidates may be missing', not as an exhaustive roster. A correct citation to a LISTED case should never be rewritten away."},"advisory_labels":{"rule":"a labels[] entry with advisory:true is INFORMATIONAL — never a fabrication claim, never a blocking signal. Current advisories: shape-scan entries; case_name_variant (a near-identical caption spelling — edit distance 1 or a known OCR confusion — most often a typo: verify the spelling, never treat as a wrong-case claim); and citation_year_later_than_decision (a text year 2-3 years AFTER the recorded decision date — the amended/reissued-opinion shape; the year the citing court itself used is not a fabrication); and, since 1.16.0 with propositions=true, supports (a lexical match of what the sentence says a case stands for with a court-authored description — moved OUT of label_classes.success at 1.16.0: a clean verdict never rests on it). related_insufficient stays in the ADVISORY vocabulary for stored records but has not been emitted since 1.16.3 (blind panel: the non-match was a paraphrase two times in three); it lives on only as data.citations[].proposition.verdict"},"provenance_naming":{"rule":"1.13.0 (founder decision 2026-09-06): served ENVELOPE prose names the secondary court-records provider wherever a record, a date or a verification comes from it — evidence strings, notes, the coverage report's recency line — so a certification quoted in a filing carries its attribution. Public surfaces (this guidance, the manifest, tool descriptions and the instructions string, site copy and docs) do not name it pending the data agreement; they say 'the secondary court-records corpus' / 'the recency lookup service'. Opaque identifiers are unchanged: verdict:cl:<id> canonical ids, date_source 'cl-corpus', lane names. verification.method carries 'recency_lookup' (the one schema value; the pre-1.12.0 value is normalised to it wherever a stored record is validated) only when a tier-2 hit VERIFIES a citation; a consult with no match, or a record with no caption, adds a note and not the value. Secondary-corpus case records carry full_text_url null + text_availability 'not held locally' (their opinion text is not held here). negative_treatment_language signals served under the engines 'graph-v1-cl+language-v1' (secondary-corpus targets) and 'graph-v1+language-v1-fused' carry, per citing_opinions[] entry, the citer's caption (the current record's when the mined snapshot had none — the opaque id only when no record carries one) AND canonical_id; the CAP language lane's entries carry caption+date+quote without canonical_id; cautionary_treatment_language entries carry treatment+quote (no citer identity). A tier-2 record with NO caption never verifies a citation OR a quote's source: the row stays a coverage gap / manual review and a note counts it","stored_records":"verification logs, reports and IDEMPOTENT REPLAYS are served AS ISSUED (the audit contract): records are never rewritten. Records issued under 1.12.0-1.12.7 use the neutral descriptors in their evidence; earlier and later ones name the provider — both read true. A replayed record without audit.guidance_version (stamped since 1.12.2) says so in verification.notes; its audit.request_id is the as-issued record at /v1/logs"},"post_finalize_failures":{"rule":"if a verification ran and was charged but its stored envelope cannot be served (a drifted enum) — on the original call OR on an idempotent replay of it — the answer is STRUCTURED: error.kind 'internal' with the request_id (MCP: an isError result carrying the envelope; REST: HTTP 500 kind internal), and the charge is refunded to your balance (Terms §5: a failed execution attributable to the Service). ONE contract (1.12.7, refined 1.13.1): when the refund is SETTLED — credited now, credited earlier, or nothing was ever held — meter.credits_charged is 0, the message names the amount credited back when credits were held ('no credits are held for it' otherwise), and a retry re-runs the verification (a refunded record never replays; it may fail the same way until the fix ships). When the refund could NOT be settled (the ledger was unreachable) the envelope carries the charge the ledger holds; the message states how much of the tool's replay window is left (24h for verification tools, 60s for reads, from the recorded call): inside it an identical retry replays this answer and re-attempts the refund, after it a retry re-runs and is charged, and support is named ONCE with a handle that resolves (the request_id, else the ledger entry) for the refund of that charge — the only case to escalate (1.13.2: no automatic sweep refunds it). On a replay the error envelope carries meter.replayed true. The record is retrievable as issued via verdict_verification_log(request_id) whenever the message says so (the ledger's request_id, never a corrupted record's — when no id can be trusted audit.request_id is empty and the message names the ledger entry); the log's credits_charged says what the call charged and its state 'refunded' says the credits came back. A stored record that no longer decodes or is not a record is served through the same lane: refunded, error.kind 'internal', not retrievable, not counted as a call, and the NEXT retry executes fresh. If the ledger cannot RECORD a finished verification: a record that did land is served as issued (without balance_after); a call that outlived its escrow lease (30m; every running call refreshes its lease every 5m, so a live call is not reaped while the ledger is reachable, up to an absolute ceiling of 6h from its start — the lease never extends past it; 1.14.0: ONE predicate decides — an escrow whose lease is alive can be extended or settled, an escrow whose lease lapsed cannot, whatever the reason, and the ledger returns the estimate the moment it refuses, so a lapsed lease never charges; the sweep releases anything the refusing lane did not, within about 10m; a synchronous call completing later is served free, a large brief whose report was already failed is not re-opened — re-submit) is served FREE with meter.credits_charged 0, a basis and a note saying it is not in the verification log and that an identical resend re-runs and is charged; otherwise the answer is error.kind 'internal' with credits_charged 0 when the estimate was released, the actual charge when the record was written but could not be confirmed, or the held estimate (basis 'estimated_escrow') while the escrow is still held (when the ledger shows no escrow but the record cannot be read, the message states both readings and credits_charged is the actual charge at most; when the ledger could not be read at all the finalize and engine lanes carry the held estimate with basis 'estimated_escrow — unconfirmed', and a stuck report answers a transient view that names no figure) — a held estimate is released by the ledger sweep or on an identical retry after the lease, within about 40m, and an identical retry inside the lease answers idempotency_conflict. A large brief whose record could not be written — or whose engine failed — is a FAILED report whose result is that envelope (never a traceback); a large brief whose job could not be started answers error.kind 'internal' at submit with the escrow's true state (released, or held until the sweep) and no report_id; a report still pending 30m past the ceiling resolves from the escrow's ledger row: a record the runner had written is served as the COMPLETED report (its charge stands); anything else reads as failed with the escrow's state (released; or held — released by the sweep within about 10m or at once by an identical retry, which re-runs; a written record nobody can serve is REFUNDED by the sweep); the ledger sweep persists that resolution on its next tick and reading a report never writes or moves money; a terminal report state never changes (an unreadable ledger answers a transient view carrying a stable request_id that names no record); a job that fails outside its own handlers is a FAILED report carrying that envelope too; failure envelopes carry list_credits for zero-rated principals where the ledger row records it, and insufficient_credits envelopes the tool's own unit; a result finishing after the 6h ceiling is never charged (the ledger refuses to settle it); the job lane bills exactly as the synchronous lane (class multiplier, rate bucket, text cap); a failed replay is not counted as a call. Failure results of the compat tools search and fetch — returned OR raised (not found, bad id) — keep their output shape (results: [] / a placeholder document) with the error, audit and meter blocks beside it and isError set; error.kind gains not_found and invalid_input as schema values for them. REST validates typed arguments against the tool's schema before any charge (400 invalid_input), exactly as MCP clients are validated"},"argument_parsing":{"rule":"1.12.5 (moved here in 1.12.6): a string sent for a string-typed argument (text, citation, canonical_id, jurisdiction, as_of, request_id, …) is taken AS THAT STRING on both transports — a document that happens to be JSON (an LLM's structured output, the literal 'null') is verified as text, never decoded. A JSON-encoded string for a list argument (citations, canonical_ids) is still decoded for clients that stringify lists"},"rest_error_statuses":{"rule":"REST maps a caller error to HTTP 400 kind invalid_input; HTTP 404 kind not_found ONLY for a missing resource the caller addressed: GET /v1/cases/{id} (case not in the corpus), GET /v1/cases/{id}/text (verdict:cap ids only — a verdict:cl id answers 400: its opinion text is not held locally), GET /v1/reports/{id} and GET /v1/logs/{request_id} (not this account's), DELETE /v1/account/keys/{prefix} (no such active key). Text you supply inside a citation or as_of never changes the status (since 1.11.7; the 404 body kind is not_found since 1.11.8 — earlier builds said invalid_input with a 404)"},"account_surfaces":{"billing_mode":"since 1.20.1 GET /v1/account (verdict_account) states billing_mode: 'test' | 'live'. In 'test' a Checkout purchase moves no real money and the credits it grants are TEST-MODE credits; ecosystem (zero-rated) principals are unaffected either way. Billing stays 'test' until the dedicated live account is ready; the flip — real charges, billing address collected at Checkout, Stripe Tax when the account has it on — is announced on this field first and on the bus the same hour. What happens to credits granted by test-mode purchases at the flip is stated in USAGE01 when the flip is scheduled","class":"since 1.19.1 GET /v1/account (verdict_account) states the principal's CLASS: account_class standard | discounted | internal, zero_rated true|false, and class_note in words. A zero-rated (ecosystem) principal is metered at list price on every call — meter.list_credits — and charged 0, so its credits_balance is a budget that never moves and the funded rate tier applies whatever it reads; a zero balance on such an account has never meant 'no credits' (a partner read it that way, 2026-09-09). Partner principals were granted a visible budget the same day","note":"GET /v1/account/usage?window=7d|30d|90d (REST-only, free, rate-guarded): zero-filled daily[] time-series, by_tool[] with MCP tool ids, refunds{} — refunds are credit-backs: engine-failure/stale pre-auth returns (at the estimate) and, since 1.12.5, serve-failure refunds after finalize (at the actual charge); NEVER an error metric; verification outcomes live in the per-request log, not in account aggregates"},"label_classes":{"rule":"success = the label itself asserts a POSITIVE verification outcome (the only labels that may reach a 'clean' verdict); gap = honest coverage gaps (review-never-block, never fabrication evidence). Labels in neither class: use label_metrics recommended_tier, advisory markers, and the accusation category — an unclassified label must land in a LOUD bucket, never a silent pass. verified_statute_exists is a success label for EXISTENCE; if you need CURRENT law additionally reject status in {repealed, recodified, omitted, eliminated, former, historical_range, transferred, renumbered} (null, range, reserved and vacant are not currency findings) — that set is the STATUTE lane's; verified_rule_exists (1.20.0) carries its own currency statuses abrogated | reserved | transferred | renumbered, all to reject for current law, including 'reserved' (see court_rules.status). One existence caveat lives in evidence text: a hyphenated section number inside an OLRC repealed/omitted/transferred GROUP verifies with 'membership ... UNCONFIRMED' — the group row does not enumerate its members","classify_by":"MEMBERSHIP IN THESE LISTS, never by the PRESENCE OF A FIELD. A consumer whose detector branched on `typed_hallucination_category in (citation, statute)` dropped every manual_review_required label in SILENCE — that label carries no accusation category (it makes no fabrication claim, by design) and no advisory marker (it moves the verdict), so it fell through every branch of a detector written to catch exactly it. A partner reproduced this on a paragraph-pin finding and reported it (1.19.4). Read `label` against success / gap / review / advisory and treat anything in none of them as LOUD. Any field may be absent on any label; the label value never is","review":["manual_review_required"],"advisory":["case_name_variant","citation_year_later_than_decision","supports","related_insufficient"],"success":["verified_exists","verified_statute_exists","verified_rule_exists","quote_exact_match","quote_normalized_match"],"gap":["outside_indexed_volumes","reporter_not_covered","statute_title_not_covered"]},"volume_holes":{"rule":"since 1.14.2: a cited volume that is MISSING from the corpus's volume table but lies inside the reporter's recorded range is a coverage gap (outside_indexed_volumes; 1 credit; counted in coverage gaps, not in summary.suspect; typed_hallucination_category null) whose evidence names the recorded volume spans around it ('recorded around it: 1-287, 361'), never an existence claim. Reporter volumes are numbered consecutively, so a number between two recorded volumes normally names a published volume; the corpus cannot tell such a gap from a series boundary, so it never accuses on a missing volume. The claim is scoped to this reporter's own volume table: a case in a missing volume may still resolve through a parallel citation ingested under another reporter. reporter_or_volume_nonexistent is NO LONGER EMITTED (it remains a schema value for stored records issued before 1.14.2); a volume beyond the recorded range stays outside_indexed_volumes with the recorded spans named. In verdict_check_citations the secondary court-records corpus and SCDB rescue lanes run before a gap is served; in verdict_check_quotes / verdict_check_brief the gap is the index's own answer and the recency lane is the only rescue","since":"1.14.2 (verdictnews field report 2026-09-07: '335 Or. App. 201', printed six times by the Oregon Supreme Court, had been accused because the corpus records Or. App. vols 1-287 and 361)"},"proposition_support":{"since":"1.16.0 (2026-09-08)","opt_in":"propositions=true on verdict_check_citations (text mode), verdict_check_brief, verdict_check_ai_output","status":"STANDING advisory label since 1.16.6 (founder decision 2026-09-08): 'beta' is off `supports` after two calibrated blind panels over two corpora (51/52 pooled, Wilson [0.90, 1.00] — label_metrics.supports). What it asserts is unchanged: a lexical match of the sentence's proposition to a court-authored description, quoted — never a legal conclusion; a non-match is never a finding. Nothing else in the lane carries a label","rule":"For every VERIFIED case citation in text the lane reads what the document says the case stands for — the document's own parenthetical right after the citation ('(holding that …)'), else the clause from the sentence's signal phrase ('held that', 'stands for', 'establishes' …) to the citation, else the citing sentence, else the preceding sentence when the citation stands alone — and compares its CONTENT TERMS with court-authored descriptions of what the case was cited for (citing opinions' parentheticals: the holding tier, panelled 98.6%, and the screened describing tier). data.citations[].proposition = {engine, proposition, proposition_source, compared_terms, descriptions_consulted, verdict, best_match{description, holding, citing_count, overlap}, other_descriptions[], evidence, note}. verification.labels gains an ADVISORY entry ONLY for supports (>= 60% of at least 4 content terms found in ONE description — a lexical match with the description quoted, NEVER a legal conclusion). A lexical non-match is served in the block as verdict related_insufficient with the closest description quoted but emits NO label since 1.16.3: a blind panel found a paraphrase of the proposition in 41 of 60 such emissions on real prose — the non-match is not evidence of a wrong attribution. No label and verdict 'unmeasured' when the case has no mined descriptions or the proposition is too short: absence is never a statement the case does not stand for the proposition. contradicts is never emitted in v0.","catches":"a real case cited for a holding no court has attributed to it (the commonest hallucination shape around a correct citation)","does_not_catch":"a wrong sentence about a REAL holding whose words agree with a description ('mandates fees' against 'in the case of any successful action') — that is a claim check against the source text, not a citation check; and paraphrases too far from any description read as related_insufficient, never as a finding","status_and_coverage":"advisory only: the supports label never moves verification.status or coverage, and the block's verdict is never a label class","pricing":"proposition_check credits per MEASURED citation (a computed block); unmeasured blocks are free; the escrow estimate prices every citation and finalize refunds the difference; verdict_check_brief and verdict_check_ai_output add the same per measured citation","data_edge":"descriptions come from the frozen citation graph; a case described by no later opinion in it is unmeasured"},"regulations_in_prose":{"since":"1.15.0 (2026-09-08)","tools":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"rule":"Every C.F.R. citation in `text` is examined through the regulation lane (the same eCFR reading verdict_get_law serves, date = the title's latest issue date): data.regulations[] (data.report.regulations[] for the report tools) carries one entry per DISTINCT unit — {raw, occurrences, spans, resolution{label, evidence, status, citation, url, canonical_id, as_of, range_end?, category?, unread?}} — and verification.labels carries the law lane's own label for it: verified_exists (served), not_found_in_covered_volume (absent at the date — an accusation with evidence, after the version-history and, at a default date, Federal Register checks), superseded_or_outdated (a unit rescinded from the CFR — a real citation, not a fabrication), manual_review_required (a reserved position, an appendix designator under a rescinded unit), reporter_not_covered (NOT EXAMINED: a regulation shape the lane does not read, the lane switched off, eCFR unreadable — evidence names which; resolution.unread=true). Forms read: '42 C.F.R. § 483.12', the bare '42 C.F.R. 483.12' and '14 CFR 250.8', ranges, lists after a plural mark ('§§ 483.10, 483.12 and 483.25'), appendices; a bare form is never a case-citation shape any more. Whole-part and subpart citations ('45 C.F.R. Part 164', 'Part 164, Subpart E', 'Subpart E of 45 C.F.R. Part 164') are EXAMINED units since 1.17.0 (part_reading), and a paragraph pin on a section is checked against eCFR's own ids (paragraph_pins); before 1.17.0 a part cite was listed as an unexamined gap.","coverage":"coverage.completeness counts regulations: an unexamined regulation is a gap in coverage.gaps and the document is never 'complete' over it. Before 1.15.0 verdict_check_citations did not examine C.F.R. citations at all and could report 'complete' over a text whose only authority was regulatory — treat pre-1.15.0 records that way.","status":"a regulation counts as LAW beside U.S.C. sections: a document with only regulations is 'verified' when every unit is served, 'unverified' when none is, 'partially_verified' otherwise; a rescinded, absent, review or unexamined unit demotes a document exactly as a statute finding does. Since 1.16.1 verified LAW also counts as something verified when every CASE citation is a gap or an ambiguity: one ambiguous case beside verified regulations and statutes is 'partially_verified', not 'unverified' (before 1.16.1 the case rows alone decided that step)","depth":"section, plus the pinned paragraph since 1.17.0 (paragraph_pins); whole parts and subparts since 1.17.0 (part_reading)","pricing":"each DISTINCT regulation unit is priced once like a citation: the definitive rate when examined (served, absent, superseded, review), the gap rate when not examined; U.S.C. sections stay free; verdict_check_brief counts distinct units toward its included citations"},"line_structure":{"since":"1.16.5","rule":"line endings are normalised first ('\\r\\n' and '\\r' become '\\n'; every served offset indexes that text, which is the text as sent for LF input). Citation EXTRACTION (cases, U.S.C. sections, C.F.R. units, the shape scan, caption hints, parallel and short-form checks, the quote pairer, the escrow estimate) then reads a flowed copy in which a lone newline (a hard wrap: non-blank lines on both sides) is one space; a blank or whitespace-only line stays a paragraph break. A citation split across a line break ('347 U.S.\\n483', '347\\nU.S. 483', a pin or year on the next line, in a filed brief or PDF text) is therefore a counted, verified citation with its pin read, instead of an advisory shape-scan row; its raw string (and a quotation's served text) carries the wrap closed and its span locates it in the normalised text. A CRLF brief and its LF copy give the same result","propositions":"the proposition lane reads the ORIGINAL line structure: a newline ends a sentence only after a line that reads as a heading or a list item — it ends in ':' or in sentence punctuation that is not an abbreviation, is mostly upper-case or mostly Title-case words, carries a list marker, or is a short block-opening line much shorter than the next; a line ending mid-sentence (a function word, a comma, a digit, a caption's 'v.') never is. A heading glued onto a clause by a re-flow ('COUNT V: RACE DISCRIMINATION Separate but equal…') is stripped when its designator and separator can be told from the clause; one that cannot stays unmeasured. The same words at any wrap width from 25 to 110 characters give the same citations and the same verdicts (tested; a partner measured the drift, 2026-09-08)","measured":"A partner disproved the first version of this claim on a real 14-citation motion (1.17.1), and a full review of that fix disproved the SECOND version: the number published at 1.17.1, '23 of 23', was measured over the 23 documents that had drifted BEFORE the fix, a population selected by the old failure. The honest figure, over every template document that produces proposition blocks: 53 of 61 give identical verdicts at every wrap width from 25 to 110 when the re-wrap keeps the document's line structure. 8 still drift at some widths; the known causes are a degenerate proposition when a boundary lands mid-sentence, and a hyphenated word broken across lines. Flattening a document to ONE line first is a lossy change to the text rather than a re-flow: a document whose list items ARE its lines reads differently once they are merged, and that is correct. What the lane reads is CONTENT, never where a wrap fell. The heading test consults no length (a hard wrap makes short lines by construction); a Title-case or one-word heading counts only where it opens a block; an INSTRUCTION marker ('[If applicable.]', '[Insert date]', a leading footnote number) is stripped, while a Bluebook alteration ('[T]he Constitution …'), a party substitution, a term placeholder and a form checkbox are CONTENT and stay; a short-form citation ('550 U.S. at 570') is never part of a proposition; and the multi-case ambiguity window is the citing sentence itself","before":"records before 1.16.5 could carry a wrapped citation only as a shape_scan_strings row (free, uncounted)"},"statute_depth":{"depth":"section, and the PINNED PARAGRAPH too — C.F.R. since 1.17.0, U.S.C. since 1.18.0 (paragraph_pins)","rule":"verified_statute_exists / statute_section_not_found decide the SECTION a citation names. A paragraph pin below the section — '(b)(4)(ii)', '(a)(2)(A)' — IS read now: for C.F.R. since 1.17.0 against eCFR's own paragraph ids, and for U.S.C. since 1.18.0 against the U.S. Code's own USLM hierarchy (see paragraph_pins). Before those versions a pin that did not exist under a real section still verified silently; records issued earlier read that way","applies_to":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output","verdict_get_law"],"since":"1.14.1 (disclosure; the section gate has always been section-level); 1.17.0 (C.F.R. paragraph pins read); 1.18.0 (U.S.C. paragraph pins read)"},"sovereign_mismatch":{"since":"1.20.2 (2026-09-09)","tools":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"rule":"A citation whose document caption names a SOVEREIGN of a different FAMILY from the reporter's caption side — a federal party ('United States', 'Government') where the reporter names a state ('Ohio', 'State', 'People', 'Commonwealth'), or the reverse — is a manual_review_required finding carrying the structural marker sovereign_mismatch: true, and the document is demoted exactly as a reversed caption is. Until 1.20.2 that citation verified CLEAN: 'United States v. Terry' cited for Terry v. Ohio — a federal prosecution written where the reporter shows a state stop-and-frisk case — passed as an untestable sovereign party, while 'Ohio v. Terry' was review and 'Texas v. Terry' an accusation (the severity inversion a full review found). ONE relation now serves the suppression and the verdict: SAME (equal sovereign words; 'Government' is the United States), COMPATIBLE (a generic state designator against a state name — 'State v. Smith' and 'Ohio v. Smith' cannot be told apart without the court, so that alias stays clean), FAMILY (federal against state-level — the inversion class), DIFFERENT (two different state names). A bare state name ('Texas v. Terry') was an accusation before and stays one through the name lane (case_name_mismatch, measured) — and that lane passes two states sharing a token ('North Carolina' for a South Carolina case), before and after this change: a disclosed gap, not a guarantee. A state named WITH a generic word ('Commonwealth of Pennsylvania', 'District of Columbia') cited for another state's case verified clean before and is a review finding now, not a new accusation. A reversed caption stays the caption_order review","marker":"labels[].sovereign_mismatch: true is STRUCTURAL — counted in summary.sovereign_mismatches, counted into attribution_flags (the document demotes), carried by verdict_check_brief's flags and verdict_check_ai_output's review count; never advisory; the label VALUE is manual_review_required until the panel says otherwise, and the marker survives either way","pricing":"no price: the finding rides the citation's existing charge","class":"REVIEW, never the fabrication class: the case exists and the citation resolves. Its blind panel (label_metrics.sovereign_mismatch) returned 5 of 7 findings unanimous with every control unanimous — a Wilson floor of 0.36 at n=7 — so the class stays review; the two disputed findings are the DISPLACED shape (a sovereign written where the reporter has a private party), which the evidence now names as such","not_read":"a sovereign party whose caption has NO sovereign side at all ('United States v. Smith' cited for Smith v. Jones) is judged by the name lane as before; abbreviated sovereigns ('U.S. v. Katz') are not sovereign vocabulary and are not read here; a short non-sovereign party (three letters) is never judged, so 'Texas v. Doe' for Ohio v. Doe keeps its existing case_name_mismatch and 'State v. Doe' for Ohio v. Doe stays clean"},"court_rules":{"since":"1.20.0 (2026-09-09)","tools":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"rule":"A citation that NAMES a federal ruleset — 'Fed. R. Civ. P. 12(b)(6)', 'Fed.R.Civ.P. 56', 'Federal Rule of Evidence 403', 'FRCP 59(e)', 'Fed. R. App. P. 4(a)(1)(A)', 'Fed. R. Crim. P. 11', 'Fed. R. Bankr. P. 3001', and a plural list or range under one marker ('Federal Rules of Evidence 104(a), 401, 402, and 403'; 'Rules 801-807') — is checked for EXISTENCE against that ruleset as the Office of the Law Revision Counsel publishes it in the U.S. Code appendix (Civil, Criminal, Evidence, Appellate, Bankruptcy; 528 rules across the five, plus the two supplemental sets that are not read; refreshed with the quarterly Code cycle). data.rules[] carries one entry per distinct rule: {raw, resolution: {label, cite, ruleset, ruleset_name, rule, evidence[, heading, status, release, pin, pin_status, range_end, elsewhere, suffix_unread, cited_as]}}. A held rule is verified_rule_exists (a SUCCESS label; counts as verified law for the document status exactly as a U.S.C. section does). No charge","status":"a rule number the appendix prints as [Abrogated …], [Reserved], [Transferred] or Renumbered is a REAL rule number and verifies, carrying `status` abrogated | reserved | transferred | renumbered as a CURRENCY advisory (null = live) — the same shape as a repealed U.S.C. section. A consumer that needs current law rejects a non-null status","absent":"a rule number ABSENT from the ruleset named is manual_review_required (the REVIEW class; the document is partially_verified beside verified law, and unverified when the absent rule is the ONLY law unit — nothing verified is never 'verified' by the absence of fabrication). Never the fabrication class, and this is a rule, not a hedge: the ruleset held is the CURRENT edition and no renumbering history is held, so a rule renumbered or abrogated before this edition (the 1983 Bankruptcy Rules were renumbered wholesale) is absent here too. The evidence names the ruleset's numbering and, when the number exists in a SIBLING ruleset, says so and lists it in `elsewhere` ('Fed.R.Civ.P. 702' -> 'Rule 702 exists in the Federal Rules of Evidence'): a harvest of 2,977 judicial opinions found that shape to be the commonest real error","not_read":"a BARE 'Rule 12(b)(6)' (7,426 in the harvest beside 2,467 named forms): which ruleset it names depends on the document, and a state court's Rule 12 is not the federal one — unread, never guessed. 'Civil Rule 6.3', 'Evidence Rule 808', 'Bankruptcy Rule 927' WITHOUT a federal marker: the harvest found them naming LOCAL and STATE rules. The Supplemental Rules (Admiralty A-G, Social Security 1-8). A PIN below a rule ('(b)(6)'): carried with pin_status 'unread' — the appendix text is held without paragraph structure, so no pin is checked and none is accused. A DECIMAL the ruleset does not number under a rule it does ('Fed. R. Civ. P. 56.6'): only Rule 56 is verified — the entry's cite and rule name Rule 56, `cited_as` keeps the document's '56.6', and `suffix_unread` carries '.6', which in extracted text is a footnote marker glued to 'Rule 56.' more often than a rule; the suffix is never verified and never accused. Under a PLURAL spelled-out marker ('the Federal Rules of Evidence 2 years ago') a number outside the ruleset's own numbering is prose and is not read; a singular marker ('Fed. R. Civ. P. 99') reads its number and lets the ruleset decide","off":"VERDICT_COURT_RULES=off, or a deployment without court_rules.sqlite, answers every named rule citation statute_title_not_covered ('the appendix is not held … unexamined'): a coverage gap, never a finding, and the document is never 'complete' over it","measured":"MEASURED BEFORE SHIPPING, every figure from a committed, seeded harness run through the shipped path. Emission rate on real prose: 12,000 judicial opinions, 9,328 named federal rule citations, 9 findings (0.10%); 3,000 opinions, 2,223 citations, 3 findings (0.13%). Every finding was read: eight name a rule number the ruleset does not hold because the writer named the WRONG ruleset (an Evidence rule cited as Civil or Criminal, and the reverse) or a number that never existed (Evidence Rule 108; Bankruptcy Rule 7011 for 9011), and one is a 1982 citation to Bankruptcy Rule 752 under the pre-1983 numbering — correct when written, absent from the CURRENT ruleset, which is exactly the currency class this lane discloses. Blind panel, three judges on three models, no label and no detector answer, asked the legal question: 12 of 12 correct-order controls and 12 of 12 constructed absents unanimous, 8 of 9 findings unanimous, Wilson floor 0.56. The ninth (Bankruptcy Rule 7011) all three judges called held, inferring it from the 70xx numbering; the Office of the Law Revision Counsel's published Part VII runs 7010, 7012 … and has no 7011, and that publication is what this lane reads — the disagreement is recorded, not resolved in the lane's favour. Recall: 60 of 60 constructed absent numbers fire through the shipped path with 0 false fires on the 60 originals. The grammar was corrected twice by these harvests before shipping (local and state rules, proposed rules, the number-first form, reporter and page numbers after a marker, a footnote marker glued to 'Rule 56.'); every artifact class is a permanent test. Review class, by the floor and by construction: the store holds the current ruleset and no renumbering history, so one signal never accuses"},"paragraph_pins":{"since":"1.17.0 (2026-09-08) for C.F.R.; 1.18.0 (2026-09-09) for U.S.C.","tools":["verdict_get_law","verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"usc":"Since 1.18.0 a U.S.C. citation whose section number is IMMEDIATELY followed by a paragraph path ('15 U.S.C. § 1692g(a)(1)'; '§ 1692g (a)' with a space is prose) has that path checked against the U.S. Code's own USLM hierarchy — the OLRC's marked-up structure, held locally and refreshed with the quarterly corpus cycle. data.statutes[].resolution.pins[] carries {pin, status found|not_found|unread, evidence[, paragraph_text, level, code_release]}: found serves the paragraph's own text and names its level (subsection, paragraph, subparagraph, clause…); not_found names the deepest existing prefix and its subdivisions; unread covers a section whose structure is not held, a section with no marked-up subdivisions, subdivisions the OLRC prints inline instead of marking up, and a string that is not a paragraph path — this lane never accuses on an empty or inline tree. INLINE means the paragraph's own text carries the deeper levels as printed markers rather than as marked-up children: a marker that OPENS a segment ('A State shall—(A) buy; and (B) sell'), or a marker whose SUCCESSOR appears later in the same text ('shall (1) publish and (2) certify'). A lone parenthesised CROSS-REFERENCE ('described in clause (i)') is neither and does not suppress a finding. Two provisions named in ONE cross-reference do read as inline and suppress it — deliberately, because a suppressed finding still reaches you as unread with its reason, while the other error would report a paragraph the Code really publishes as missing. `code_release` names the U.S. Code release point the section was read against (the OLRC's own release id, '119-102'), stamped per SECTION from the row that answered — it is a release id, never a date, which is why it does not travel in the C.F.R. half's `as_of` (an ISO issue date). It is absent when the edition is unrecorded. A pin is attached only to a section the statute lane VERIFIED (a pin on a section that does not exist is moot). Since 1.18.1 the two halves are the SAME: a not_found U.S.C. pin adds a manual_review_required label targeting the citation WITH its pin ('15 U.S.C. § 1692k(a)(4)') and the unit is partially_verified, exactly as a C.F.R. pin does. 1.18.0 served it as a field only, so a document whose every statutory pin was invented read status 'verified', coverage 'complete' and success labels, with the failure visible only inside the block — a partner reproduced it the same day and it is fixed. The label is REVIEW, never the fabrication class: the section is real. U.S.C. sections are free and the pin check adds no charge","rule":"A C.F.R. section citation that pins a paragraph ('45 C.F.R. § 164.508(b)(4)(ii)') has the pin checked against eCFR's OWN paragraph identifiers for that section at the issue date (the renderer marks every paragraph with its full path; no reconstruction). data.unit.pins[] (verdict_get_law) and data.regulations[].resolution.pins[] (the prose tools) carry one entry per pin: {pin, status found|not_found|unread, evidence[, paragraph_text, as_of]}. found = the paragraph exists and its OWN text is served (up to 1200 characters) so the claim can be read against it; not_found = the section exists but no such paragraph does — the evidence names the deepest existing prefix and its subdivisions, a manual_review_required label is added on the citation and the unit is partially_verified (a pin is a pointer: the review class, never the fabrication class); unread = eCFR's paragraph structure could not be read or the pin is not a paragraph path — a note, nothing labelled, never accused","one_unit":"one section pinned several ways in a document is ONE unit and one charge; every distinct pin is checked (up to four), every check rides the unit's pins[] with `cited_as` = the spelling that carried it, and a not_found pin's manual_review_required label TARGETS that spelling","status":"a served section with a not_found pin is a VERIFIED section carrying a review flag: it counts as verified law for the document status (a regulations-only document is partially_verified, never unverified) and once in summary.regulations_review, not in regulations_partial; verdict_check_brief lists the pin label among its flags","does_not_catch":"an EXISTING pin on the wrong content — the sentence says (b)(4)(ii) stands for something it does not; only the served paragraph text makes that readable (the anchored-claims ledger is the tool for that). Since 1.18.0 U.S.C. pins are read too (see `usc`), with the same limit","pricing":"no price: the pin check rides the section's unit","off":"VERDICT_CFR_PINS=off on a deployment leaves pins unread (a note); no label, no demotion","unchecked":"a pin is served 'unread' with the reason whenever it could not be checked: a section eCFR served no text for, a paragraph structure that could not be read, a failed lookup, or more than four spellings of one section in a document (the fifth and beyond are named, never dropped). A pins[] entry names the spelling that carried it in `cited_as`; a merged spelling's review label targets that spelling, which may not be the entry's own `raw`"},"part_reading":{"since":"1.17.0 (2026-09-08)","tools":["verdict_get_law","verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"rule":"A whole PART, a SUBPART or a RANGE of parts is a unit read from eCFR's structure tree at the date — '45 C.F.R. Part 164', '45 CFR pt. 164', 'Part 164, Subpart E', 'Subpart E of Part 164', '40 C.F.R. Parts 1500-1508'. The tree is complete for parts and subparts, so existence, heading, section count and state are decided without a fetch: a live part or subpart is verified_exists with data.unit = {kind: 'part', title, part[, subpart], heading, sections, sections_reserved, subparts[] (id, heading, reserved, sections), section_range, url, text: ''} — NO TEXT is served for a part (cite a section for text); a [Reserved] part or subpart is verified_exists at partially_verified (a position with no sections); a part listed only inside a reserved part range is manual_review_required; a part absent from a served tree is checked against eCFR's version history first — a rescinded part is superseded_or_outdated (40 C.F.R. Part 1500 after the 2025 CEQ rescission), otherwise not_found_in_covered_volume with the neighbouring listed parts named. A cited RANGE's end is settled whatever the start's state — an end the tree does not list is the accusation, naming the end. Subpart identifiers are read as eCFR spells them: a letter ('E', 'AAA'), a letter range ('Subparts A-C'), a hyphenated id ('Subpart D-3') and a numeric id ('Subpart 15.9'); the plural word with no identifier ('the subparts of Part 164') is prose, and one subpart spelled two ways is one unit and one charge. A SUBPART is never accused: one absent from a live part is manual_review_required with the part's subparts named (a subpart has no version history of its own — the second signal a section or part absence has), one inside a reserved subpart range ('Subparts A-C [Reserved]') is a reserved position (partially_verified), and one cited under a [Reserved] or rescinded part is manual_review_required with the part's state or removal named. 'Subpart E of 45 C.F.R. Part 164' reads the same as 'Part 164, Subpart E'. A range of parts serves its START with range_end = the cited end; both ends must be listed, a reserved end demotes to partially_verified, a rescinded end is manual_review_required naming the range, and the parts between are not checked","prose":"the regulation lane examines whole parts now (before 1.17.0 they were listed as unexamined gaps): each distinct part or subpart is one unit at the definitive rate; a document whose only regulatory authority is a part cite can now be 'complete'","pricing":"one unit at the law rate (verdict_get_law) / the definitive rate (the prose tools)"},"caption_order":{"since":"1.19.0 (2026-09-09)","tools":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"rule":"A case citation whose two party names match the reporter's caption in the OPPOSITE order ('Campbell v. State Farm Mut. Auto. Ins. Co.' for a citation whose caption is 'State Farm Mutual Automobile Insurance v. Campbell') carries an extra manual_review_required label naming both captions, and the document is partially_verified. Until 1.19.0 both orders passed every check: each party was tested for evidence ANYWHERE in the resolved caption, so party ORDER was never compared and a reversed caption verified clean","class":"REVIEW, never fabrication — the case exists and the citation resolves. Two legitimate causes the label names in its evidence: the parties really were reversed, or the caption of a different stage of the same litigation was used (parties routinely swap between trial and appeal, so a district-court reporter and an appellate one carry opposite captions)","bounds":"it fires only where BOTH party names are readable from the document's own caption and both match the opposite side; one-sided evidence is the ordinary abbreviation case and never fires. Since 1.19.2 SOVEREIGN captions are read too ('United States v. Katz' for Katz v. United States; People, State, Commonwealth and state names) with the identity required to AGREE — the same state on both sides, or the same designator with no state conflict — so 'Texas' never names 'Ohio', 'People' never names 'State', 'North Carolina' never names 'South Carolina', and a state never names a city of the same name. Measured recall 0.968 on CORPUS-FORM captions (label_metrics.caption_reversed). It does NOT claim to catch every reversal, and these are SILENT by construction: an abbreviated sovereign ('U.S. v. Katz', 'Com. v. Smith'); a caption the extractor does not split into two parties at all ('United States of America v. Katz', 'State of Ohio v. Terry'); a party naming a sovereign that is not word-for-word the caption's ('State' for 'State of Ohio'); initials-only names and very short surnames. The recall population is corpus-form captions and is structurally blind to the abbreviated ones, so END-TO-END recall on running prose is LOWER than 0.968. A parallel-reporter caption is never a finding: when the index holds a sibling row for the same court, date and docket carrying the document's own order, the writer is citing the other reporter's caption and nothing is emitted","marker":"the label carries `caption_order: true` — a STRUCTURAL marker, so a gate never reads the evidence prose. It is NEVER `advisory` (an advisory label is informational and never moves status; this one demotes) and never carries a typed_hallucination_category. `data.summary.captions_reversed` counts them and verification.notes says so in words","pricing":"no price: the finding rides the citation's own check"},"pin_check":{"rule":"since 1.14.6 a CASE citation with a page pin carries pin_check on the citation entry's resolution (data.citations[] for check_citations; data.report.citations[] for check_brief / check_ai_output) = {pin, page, within_case, first_page, last_page[, reason][, containing]}: within_case true = the page lies inside the resolved case's page span; false = it does not (the pin_cite_out_of_range label still fires) and `containing` names the case in the same reporter volume whose span holds the page ({cite, case_name, canonical_id, first_page, last_page}) or null when no indexed case does; null = the check could not run (reason: 'page extents unusable' for tier-2 or range-page rows, 'not a page pin' for footnote, paragraph and star pins, 'resolution era-suspect' when the resolution itself is era-impossible and every check on it is withheld). Absent when the citation carries no pin, did not resolve verified_exists, or is a shape-scan row. Additive; labels and classes unchanged","applies_to":["verdict_check_citations","verdict_check_brief","verdict_check_ai_output"],"since":"1.14.6"},"era":{"era_note":"on a verified_exists resolution: its decision date cannot belong to the cited reporter edition or volume — the corpus row, not your text, is suspect; in check_citations, when your own year corroborates the row (+-1) the note is dropped, otherwise year/attribution/pin/parallel checks are WITHHELD (era_conflict: true)","era_notes":"on a case RECORD: per-citation notes; a record carries era_note only when its date fits NONE of its citations' volumes (misdated row) — otherwise the outlier is a spurious parallel citation on that record, or — when it is the record's own source volume — a late-printed or compound (original + rehearing) record; the note says which","date_repair":"1.11.0+: when the secondary court-records corpus's citation table binds the same citation to the same case (party-wise name match) with a date strictly inside the volume window (within 90 days of its printed range, and of the record's own source volume's), decision_date is that corpus's (date_source: 'cl-corpus'), cap_decision_date keeps the CAP row's date, date_repair names the secondary-corpus record (verdict:cl:<id>) and window, era_note states the repair, era_conflict is NOT set and every check runs (era_repaired: true marks such a resolution or record); a document year agreeing with EITHER date is never accused, a later year by 2-3 draws the non-accusing citation_year_later_than_decision advisory, any other year citation_year_mismatch naming both dates. Absent when no independent record settles the date (the withholding stands; where the secondary court-records corpus's record bears on it, era_note adds the fact: the same date; a different decision at that citation; or a late-printed/compound record (the record was ingested from the cited volume yet its date fits its other citations) — the latter two carry era_other_decision: true and survive corroboration as review pointers)","successor":"on verified_statute_exists: ALWAYS a list of citation strings; a range successor reads '41 U.S.C. §§ 6306-6308'"},"law":{"tool":"verdict_get_law","coverage":"federal REGULATIONS via eCFR, date-versioned (as_of, default = eCFR's up_to_date_as_of for the title, refreshed daily; an as_of before 2017-01-03 is a coverage GAP, never a miss). U.S.C. citations here are an honest coverage gap; their existence, currency and successors ride the statute lane inside verdict_check_citations","shapes":["part | subpart | parts range (since 1.17.0): '45 C.F.R. Part 164' | '45 CFR pt. 164' | '45 C.F.R. Part 164, Subpart E' | 'Subpart E of Part 164' | '40 C.F.R. Parts 1500-1508' — decided from eCFR's structure tree (existence, heading, section count, state); no text served (see part_reading)","section: '29 C.F.R. § 1604.11' | '20 CFR 404.1520(a)'","section forms (since 1.14.3, INVENTORY-driven): the string after the section mark is read against eCFR's own list of section ids for the title at the date, and eCFR's exact id is served — so hyphenated numbers ('17 C.F.R. § 240.10b-5', '26 C.F.R. § 1.132-1', '48 C.F.R. § 252.204-7012', '27 C.F.R. § 21.94-T'), parenthesised numbers ('26 C.F.R. § 1.501(r)-4', '1.501(c)(3)-1', '17 C.F.R. § 275.206(4)-1', '29 C.F.R. § 2584.8477(e)-1') and range-shaped ids ('48 C.F.R. § 9904.412-60.1') resolve whatever their title; a parenthesis that is NOT part of an id is a paragraph pin or an official-interpretation comment ('12 C.F.R. § 1024.41(b)(1)-4' serves § 1024.41 as partially_verified — the comment is not checked); typographic dashes and letter case are normalised to eCFR's ids; an em-dash after the number is prose","section RANGES (since 1.14.3): '29 C.F.R. §§ 785.27-785.32' | '42 C.F.R. 483.10-.12' | '45 C.F.R. §§ 164.400-414' | '§§ 785.27 through 785.32' | '26 C.F.R. §§ 1.132-1–1.132-9' | '21 C.F.R. §§ 210.1-211.208' (a range may span parts). BOTH ends must be in eCFR's structure at the date: the START section's text is served, data.unit.range_end names the end, unit.citation reads 'T CFR start-end', the canonical id is verdict:ecfr:T-start-end@date, and a note says the sections between were NOT individually checked. A range whose end is not in the structure is read under its other readings and, when none exists, is not_found_in_covered_volume naming the readings tried","part appendix (since 1.11.2): '20 C.F.R. Part 404, Subpart P, Appendix 1' — also pt./subpt./app., '§ 404, App. 1', hyphenated/prefixed designators ('Appendix A-1', 'Non-Mandatory Appendix Q'), 3-letter or mixed-case subparts ('Subpart AAA', 'Subpart Cb'), and eCFR's own 'Appendix 1 to Subpart P of Part 404'. Resolution is against the title's complete eCFR structure tree; the subpart may be omitted when the designator is unique in the part; roman and arabic readings are BOTH tried and distinct appendices under the two readings are reported as ambiguous — or settled by a cited item that only one of them carries (the note says so) — never guessed; a designator with a family in scope ('Appendix A' where A-1…A-8 exist) is ambiguous too; eCFR's own 'Appendix A to Part 61' is read as explicitly part-level","appendix ITEM (since 1.11.2): '..., Appendix 1, § 12.04' | 'Listing 12.00B' | 'Part A, Listing 12.04' | 'Appendix 2, Rule 201.14' — the item number is read wherever it stands after the designator. A heading is qualified by TAG: a prose paragraph or a table row whose first cell IS the number; a table cell or formula line that merely starts with a number is never an item. A Listing is its paragraph run to the next heading; a Grid rule is its table row, verbatim, with ditto_resolved alongside ('do' = same as the row above; [n] marks a footnote). '12.00B3' serves paragraph 12.00B partially_verified with the numbered sub-item flagged for review; further items in one citation are noted, not resolved","section appendix (since 1.11.2): '29 C.F.R. § 1910.1001, Appendix A' | 'Appendix A to § 1910.1200' — OSHA-form appendices live inside the section's own text and are isolated from it"],"section_reading":"since 1.14.3: a section string is settled against eCFR's structure tree (the inventory of section ids for the title at the date), never by a grammar guessing where a number ends. Readings, in order: the whole string is an id; two ids joined by a dash are a range; the longest id that is a prefix of the string is the section and the rest is a pin or comment — unless ids of the rest's shape exist under that base ('275.206(4)-9' beside 275.206(4)-1…-8), which is an ABSENCE naming those siblings; a [Reserved] id or a string inside a reserved span is a reserved position: status partially_verified, no text (label verified_exists for a listed reserved id, manual_review_required inside a span). A listed id whose text endpoint answers 404 is served from the structure as partially_verified, never accused. An absence in the inventory is confirmed by fetching the string itself before any accusation, and eCFR's own 'No matching content' is quoted in the evidence; an unrecognised eCFR answer is a gap. If the structure tree cannot be read the section is fetched as before. Since 1.14.4 a SECTION-APPENDIX citation ('29 C.F.R. § 1910.1001, Appendix A') settles its section the same way (the tree's part and exact id; a listed section whose text endpoint answers 404 is manual_review_required, never not_found) and a cited range whose START the tree does not list is confirmed end by end before any accusation. Since 1.14.5 sections of a LETTER-part ('26 C.F.R. § 15a.453-1', '29 C.F.R. § 4041A.21', '12 C.F.R. § 269b.110', '42 C.F.R. § 51c.101' — a part carries at most one letter, any case) and temporary Coast Guard ids ('33 C.F.R. § 165.T01-0149') are read like any other section; a word after the part number ('§ 1604.See') is still prose, never an id. data.unit.url carries eCFR's own spelling of the section id (case and spacing kept, spaces percent-encoded). Since 1.14.6 a section or part that is absent at the date is checked against eCFR's VERSION HISTORY before any accusation: a unit that once existed and was removed from the CFR (the 2025 NEPA rescissions, e.g. '40 C.F.R. § 1502.14') is superseded_or_outdated — status verified, no hallucination category, the evidence names the removal date — never not_found_in_covered_volume; a unit re-added by the date, one first promulgated after the asked date, or one with no history is decided on the edition alone; an unreadable history makes the absence a GAP, never an accusation; an appendix under a rescinded part is review. Since 1.14.7 the section outcome vouches for the SECTION alone: an appendix designator under a rescinded section, or a joined range whose rescinded start leaves its end unconfirmed, is manual_review_required with the removal named (never a verified status over an unchecked designator or end); a paragraph pin on a rescinded section is noted, not checked; when the only earlier history row is eCFR's 2017 baseline import the evidence says 'unamended since its baseline import', not 'last amended'. Since 1.16.2 a section inside a reserved span whose START eCFR mistyped ('§§ 97-97.106 [Reserved]': 34 C.F.R. § 97.105) is a reserved position (partially_verified), not an accusation","section_text":"since 1.15.1 data.unit.text carries EVERY block of the section in document order — paragraphs, flush paragraphs, headings and TABLE ROWS (cells joined by ' | ', one row per line); before 1.15.1 only <P> paragraphs were served, so a section whose figures live in a table (40 C.F.R. § 19.4's penalty amounts) read as prose without them","whole_appendix_cap_chars":120000,"on_cap":"an appendix longer than the cap is served with truncated: true, total_chars and items (its qualified headings) — cite an item for its full text","labels":{"verified_exists":"unit retrieved; evidence names the eCFR as-of date and, for an item, the isolation","superseded_or_outdated":"since 1.14.6: a SECTION absent at the date that eCFR's version history shows was in the CFR and REMOVED on or before that date (status verified, no hallucination category; evidence names the removal date and the last amendment). A citation naming an appendix under a rescinded PART is manual_review_required with the removal in the evidence (the designator cannot be checked); an unreadable history makes the absence a gap, never an accusation; a unit re-added by the date, one that only ever existed as a [Reserved] placeholder, or one first promulgated after the asked date is decided on the edition alone","not_found_in_covered_volume":"a CFR title outside 1-50; a missing PART (absent from a SERVED eCFR structure tree — a served tree proves the date); a missing SECTION or section appendix that eCFR itself reports as 'No matching content found' at the current edition or at YOUR as_of (at a default date, after the Federal Register check of absence_semantics.edition_lag); a section-appendix LETTER absent from a section whose text carries other appendix headings and no family of that letter; a missing ITEM (its number appears nowhere in the resolved appendix's text) — each as of the date named in the evidence (corpus_as_of carries the same date). A part-level APPENDIX that matches no structure node is never accused (identifiers are heterogeneous; section-level appendices have no node). Since 1.11.4 eCFR's 404 body decides the cause: a 404 eCFR attributes to the DATE, a 404 with no recognised reason (never evidence of absence), or ANY absence — section, part, item, letter — at a default date taken from a cached index (the current edition may be newer) is reporter_not_covered, never an accusation (1.11.5). An absence is a claim only at YOUR as_of, or at the current edition when eCFR's version history shows no removal and, for a section or part, the Federal Register records no later rule naming it (absence_semantics.edition_lag, 1.20.7)","ambiguous_multiple_matches":"unverified: the citation fits several appendices — cite the subpart or the full designator","manual_review_required":"unverified, never an accusation: no appendix node matches the citation (evidence carries the part's inventory: the cited subpart's appendices in full, or the first 12 with '(+N more)', and a near miss such as 'Appendix 1 to Subpart P is under Subpart P, not Subpart B'); a designator found only under the other numbering (roman/arabic) with no item to settle it; a [Reserved] appendix; an item number present in the text but not as a heading; the same number leading several times (bundled documents); a lettered paragraph absent from a found item (evidence names the paragraphs found); an appendix with no numbered items; material after the appendix the grammar cannot place ('Method 5', '§ 4.1.2'); a section with no appendix headings","reporter_not_covered":"coverage gap (1 credit): a U.S.C. citation; an as_of before eCFR's point-in-time coverage, past the title's latest issue date (eCFR's own 'past issue date' answer included), or on a reserved or unlisted title; a title with no structure tree at that date; an eCFR 404 with no RECOGNISED reason (a gateway page is not evidence of absence — at any date); and, at a DEFAULT date taken from a cached index, any absence of a section, part, item or appendix letter (the current edition may be newer). Not covered by this rule: a part-level appendix matching no structure node (manual_review_required) and a title outside 1-50 (not_found)"},"outage":"since 1.11.3/1.11.4: if eCFR's title index is unreachable the default as-of date comes from the newest cached index and is UNCHECKED (the current edition may be newer), or your explicit as_of is accepted unchecked; verification.notes says so and coverage.completeness is 'partial' on served units. At a default date from a cached index every absence is a gap (reporter_not_covered, 1 credit); at YOUR as_of an absence eCFR confirms is an accusation. With no as_of and no index at all the call fails (tool error, refunded) rather than guess a date. A non-calendar as_of is a caller error (400); a CFR title outside 1-50 is a not_found envelope","text_encoding":"UTF-8 by document declaration since 1.11.2 — earlier versions could serve 'Â§' for '§' in regulation text; a non-UTF-8 upstream body is an incident, not a caller error"},"label_metrics":{"rule":"recommended_tier is derivable policy: block only labels whose measured precision supports it; review 0.5-0.9; advise below. Labels without an entry are UNMEASURED on real-corpus prose — treat unmeasured accusation labels as review-tier, never blocking, until an entry appears. Fabrication-class resolution labels run under a standing zero-false-positive release gate instead of a sampled number.","case_name_mismatch":{"precision":0.255,"recall":0.995,"sample":"400 opinions / 31,460 verified-cite contexts, census panel (3 blind judges, controls 7/7), 188 deduped emissions","measured_at":"2026-08-21","note":"measured on the pre-v8 comparator; the v8 fixes cut emissions 201->55 on the same sample (residual dominated by wrong-RESOLUTION and historical-OCR classes); re-measurement rides the quarterly rebuild","recommended_tier":"review"},"citation_year_mismatch":{"precision":0.667,"recall":null,"sample":"21 deduped emissions, same census panel","measured_at":"2026-08-21","recommended_tier":"review"},"case_name_variant":{"precision":null,"recall":null,"note":"advisory BY DESIGN — a spelling nudge, never a wrong-case claim; blocking precision is not applicable","recommended_tier":"advise"},"caption_reversed":{"precision":1.0,"recall":0.968,"sample":"TWO blind 3-judge panels, majority vote, 2026-09-09, 30 DISTINCT emissions between them (panel 2 re-harvested the same opinions, so 9 of panel 1's 10 recur and are counted ONCE). Panel 1, before sovereign captions were read: 10 emissions, 10/10; controls 15/15 reversed and 15/15 correct-order. Panel 2, sovereign captions read: 29 emissions from 2,500 judicial opinions (63,099 verified captioned citations, 1 in 2,176), 21 of them sovereign, 29/29; THREE control classes unanimous across all three judges — 12/12 constructed reversals, 12/12 correct-order, and 12/12 TRAP controls substituting a DIFFERENT sovereign, which a judge must call a different case. The packet carries the two captions and NO citation, because a citation field let a judge tell emissions from controls. Pooled over distinct items 30/30, Wilson 95% [0.89, 1.00]. RECALL 0.968 through the SHIPPED path on a seeded 4,000-caption population (tools/party_panel/recall.py; 0.708 before sovereign captions), ZERO false fires on the correct-order twins. ALIASING TRAP (tools/party_panel/trap.py, committed and seeded): the same sovereign reversed fires 6,712/6,807; a different state 0/6,807; a different designator 0/6,807; a state SHARING a token (North/South Carolina, Virginia/West Virginia, New York/New Mexico) 0/100","measured_at":"2026-09-09","note":"REVIEW class, never the fabrication class: the case exists and the citation resolves. The pooled floor is 0.89 — it does NOT clear the 0.90 a blocking tier would want, which is why this finding demotes and asks for a look rather than accusing. It fires only where the lane reads BOTH party names from the document's own caption; end-to-end recall on running prose is lower than 0.968 and is not claimed","recommended_tier":"review"},"sovereign_mismatch":{"precision":0.71,"recall":1.0,"sample":"REVIEW class (1.20.2): the document names a sovereign of a different FAMILY from the reporter's caption (federal vs state) — or a different state where the old suppression passed it by a generic word — and the other party matches. TRAP (tools/sovereign_panel/trap.py, 400 real sovereign captions, committed and seeded, on the shipped predicate): the caption as printed 400/400 clean; the alias ('State' for a state name and the reverse) 242/242 clean; 'Government' for the United States 158/158 clean; a state or 'State' written for the United States 316/316 flagged; the United States written for a state 242/242 flagged; a different state name 28/28 still the accusation; a wrong OTHER party beside the sovereign 197/197 still the accusation; 'United States' for 'United States of America' 54/54 clean. EMISSION RATE on real prose (the shipped path over 3,000 judicial opinions): 75,598 verified captioned citations, 27,051 with a sovereign party, 7 findings (0.03%; 1 in 3,864), every one read and real. BLIND PANEL, three judges on three models, no label and no citation field, the legal question (same / compatible / different sovereign): 12/12 captions as printed SAME, 12/12 aliases COMPATIBLE, 12/12 constructed swaps DIFFERENT — all unanimous; findings 5/7 unanimous, Wilson floor 0.36. The two disputes are one shape — a state written where the reporter has a corporation while the United States side matches — where the judges said the sovereign slot matched: the findings stand and the evidence now diagnoses them as a DISPLACED party rather than a federal-vs-state swap. Precision 0.71 is the panel's figure on the question as asked, published with the disagreement named","measured_at":"2026-09-09","note":"REVIEW class, decided by the panel: the floor is 0.36 at n=7, nowhere near an accusation tier, and the class stays review until a larger harvest and a second panel say otherwise; the marker and the evidence do not change with the label","recommended_tier":"review"},"rule_absent":{"precision":0.89,"recall":1.0,"sample":"court_rules (1.20.0): manual_review_required on a federal rule citation whose number the named ruleset does not hold. THREE blind 3-judge panels on three models, the legal question, no label and no detector answer; the last over ALL 9 findings a 12,000-opinion harvest produced (9,328 named federal rule citations, 1 in 1,036): 12/12 correct-order controls and 12/12 constructed absents unanimous, findings 8/9 unanimous, Wilson 95% floor 0.56. The ninth (Bankruptcy Rule 7011) all three judges called held by inference from the 70xx numbering; the Office of the Law Revision Counsel's published Part VII holds no 7011, and that publication is the lane's store. The disagreement is recorded, not resolved in the lane's favour. RECALL 60/60 constructed absent numbers through the shipped path (tools/rules_panel/recall.py, committed, seeded), 0/60 false fires on the originals; a decimal under a held integer is a chosen non-fire (0/60 by design: the integer rule is verified, the suffix unread)","measured_at":"2026-09-09","note":"REVIEW class by the floor AND by construction: the store is the current ruleset with no renumbering history, so a correct 1982 citation to Bankruptcy Rule 752 is absent here too, and one signal never accuses. The evidence names a sibling ruleset holding the number (`elsewhere`), which is the commonest real error","recommended_tier":"review"},"supports":{"precision":0.98,"recall":null,"sample":"two blind 3-judge panels, majority vote, 52 emissions pooled: (1) 15 over a 409-record template corpus — 14/15 (the miss a form fragment, closed); false controls 15/15 per judge, true controls weak (syllabus coverage, raw figure); (2) 37 over 52 judicial opinions (CAP full text, real court prose) — 37/37; false controls 15/15 and paraphrase-pair true controls 14/15 per judge, so the panel was calibrated both ways and the corrected figure equals the raw. Pooled 51/52 = 0.98, Wilson 95% [0.90, 1.00]; by overlap band 0.6-0.8 23/24, >=0.8 28/28","measured_at":"2026-09-08","note":"a lexical match of the sentence's proposition to a court-authored description of the case; never a legal conclusion; advisory by construction","recommended_tier":"advise"},"related_insufficient":{"precision":0.4,"recall":null,"sample":"120 lane non-matches over two panels: judges found a paraphrase of the proposition among the descriptions in 68 (template corpus 41/60; judicial opinions 27/60) — as a 'no support found' signal the non-match was wrong more often than right","measured_at":"2026-09-08","note":"WITHDRAWN as a label since 1.16.3 (the measurement is kept here so a pre-1.16.3 stored record's entry can be read); the block verdict remains with the closest description quoted, for the reader — a block verdict is never a label","recommended_tier":null},"not_found_in_covered_volume":{"gate":"zero-false-positive release gate: every release re-proves zero false accusations over a fabricated/real probe corpus; field FP classes are fixed same-day and disclosed","recommended_tier":"block"}}}