Verification and curation
What it is¶
Verification is the act of confirming a jurisdiction record against the primary source it cites, recorded on the record with a date, a verifier and the evidence. It is distinct from domain review, which is an expert's opinion about whether the record is right. This page sets the rules for both, the discipline the testing team follows when curating jurisdiction data, what each curation status permits, and how provenance is disclosed on a brief.
The New York correction¶
The rule first. A domain ruling never supersedes a primary-source verification; it triggers re-verification, and the source decides the direction. Domain review and verification are separate fields on a record, and the reviewer's name never goes in the verifier field.
The worked example. CPLR § 1411 gained a subsection (b) on 27 May 2026, moving New York from pure to modified comparative negligence for motor vehicle cases with a 51 percent bar. The team's curator had verified it against the primary source on 6 September. Expert review asserted twice, in writing, that no such subsection existed, reasoning from a rule that had been settled for decades and was superseded days before the reviewer's information ends. Domain review was wrong and the curated record was right, and the protocol is what prevented a correct record from being reverted to a stale one .
An expert reviewer's confidence is a function of when their knowledge was formed, and it is highest on exactly the settled rules most likely to have changed. A curator reading the statute today beats a reviewer recalling it, every time, on any question of current law.
The same episode produced three further rules. Being right about a provision is not being right about its scope: the amendment excludes actions for death or property damage, so on a property-damage-only recovery the bar does not apply, and the record needs a damage-type scope condition rather than a state and a percentage. Rules do not always resolve as of the loss date: the amendment applies to actions commenced on or after enactment, so a 2025 loss litigated later falls under the new bar while a 2026 loss already in suit does not, which means records need an explicit as_of_basis. And a correction is incomplete if it captures one change and misses its companions: the same package eliminated the 90/180-day serious injury category, added a fault-before-damages sequencing rule and capped non-economic damages in defined circumstances, all of which belong in the same state's records.
What read as a conflict between two curations was a temporal difference nobody could see, because neither table carried per-record verification dates. The fix is dating every record, not auditing the curator.
The 13-field YAML discipline¶
The testing team hand-curates jurisdiction data from authorized state websites in a 13-field YAML discipline. Six of the fields are fixed by the sources: the cite, the source URL, a verbatim snippet, the verification status, the effective date and caveats. The remaining fields are not yet documented here. Testers return YAML in the database record shape with curation_status left at draft; loading and promotion happen through the recorded path, never by the tester.
Two sections exist from the team today. statute_of_limitations (PL-F-2, 204 rows, all 51 states) feeds the resolver's deadlines; by its own header, 30 rows are verified against two sources and 174 are single-source. anti_subrogation holds 96 records in reference_data: the general property and casualty Sutton and own-insured rules with six states outstanding, and the WC lien rules complete .
Curation status and what each may do¶
| Status | What it permits |
|---|---|
draft |
Exists in the source database only. Never ships in a bundle; a state whose section is draft shows as unpublished on the receipt and resolves indeterminate |
approved |
May ship in a bundle. Never becomes active until tester verification in the 13-field discipline |
active |
Read by the runtime; an assertion that the record was curated and regressed, not a deployment flag |
Drafts stay excluded from bundles until curated in the same discipline. The ruling was made on the Auto subrogation section (JUR-AUTO-{ST}-subrogation-v1), which was drafted by Claude Code rather than by the team: five states promoted (TX, CA, NY, VA, FL), 46 in draft, and HI, MA and UT held pending sourcing. Status propagates down the dependency chain: a spec that depends on tables with no curator, no verified_on and no source authority cannot itself be active, and the honest state of such a table is approved with a fixture note .
Promotion has one enforcement point, promote_spec.py, which refuses without a regression record. A theory whose obligations are not yet curated stays approved: AUTO-005 governmental vehicle is held there until governmental notice obligations exist, and a promotion of it to active without a ruling was reverted .
Tier A and Tier B provenance¶
The jurisdiction payload delivered on 2026-09-29 for the Auto subrogation section distinguishes two provenance tiers. Tier A, single_source: the twelve no-fault states (FL, HI, KS, KY, MA, MI, MN, ND, NJ, NY, PA, UT) verified by the expert against live statute pages, with NJ, PA, KS and UT taken from Justia because the official sites did not respond. Tier B, llm_drafted: the 39 remaining states expert-drafted from recalled law. Both tiers load as draft through the recorded path and move to approved; neither becomes active until tester verification, and the testers' first ticket is a verification pass over Tier B.
The product decision is that Tier B content may be used now provided the tier is printed on the brief's provenance line. A brief that rests on a Tier B record says so; a brief never presents recalled law as verified law. The same standard applies to the 51 gl_jurisdiction_rule records that cite a language model's April knowledge as source authority: active, read by no tool, and an example of the citation the provenance line exists to expose.
The corrections made to the machine drafts before loading show why the tier matters: ND has no loss-transfer rule (26.1-41-17 repealed in 2005); MI pd_subrogation_permitted is false because mini-tort belongs to the owner (MCL 500.3135(3)(e)); the MN indemnity trigger is 5,500 lb curb weight; HI allows only 50 percent reimbursement from the insured's recovery; election_default is null everywhere; SD is a plain tort state.
The public-data catalog¶
The team's public-domain data catalog (dated 2026-09-17, 16 sections) covers, for AUTO, fault_system (SRP evidence 51 of 51, four case-law holdings missing for AL, KY, MO and NM), um_uim, total_loss and negligence_standard; sol with 153 rows, for which no SRP evidence is recorded although the YAML carries cites and snippets; for GL, litigation_procedure, punitive_damages, anti_subrogation, made_whole, governmental_immunity and anti_indemnity; for PROPERTY, anti_concurrent_causation. WC sections are not loaded.
Three sections the subrogation module needs are absent from the catalog and were never a team ticket: the AUTO subrogation section, governmental_notice and statute_of_repose. Three tickets follow: the Auto subrogation section for 51 states (six fields plus the 13-field discipline; the twelve no-fault states are the work), governmental_notice (which unblocks AUTO-005 and the municipal theories), and a source-review pass over statute_of_repose. Housekeeping items: record the sol snippets as SRP evidence; check whether governmental_immunity can be keyed to AUTO and PROPERTY for the sovereign immunity defense; and add a structured tenant_co_insured_rule enum so the anti_subrogation general rows serve PROP-004.
The empty-catalogue diagnosis¶
A rules engine with no rules is a well-tested null. Three tools were classified shadow-ready on code completeness and test counts while their catalogues were empty: 12 of 90 subrogation chunks carried a trigger and none carried narrative fields; all 66 jurisdiction rules had null obligation_records, so no claim in any state could compute a deadline; and no Auto sensitive-indicator signal had a structured trigger. Every review had passed because every review was of code.
The diagnosis that matters is that the engines and the extractor are ahead of the curated content, not behind it. The remedy is to curate one theory end to end before filling a catalogue: its trigger, the facts it needs added to the extraction spec, its defenses, its evidence chunks and its jurisdiction obligations. Writing triggers first produces chunks naming facts nobody publishes. The same rule appears in build order as the one-jurisdiction vertical slice: enough curated content that one claim reaches a determination and one refuses, which is what makes an engine reviewable and front-loads the work only a domain specialist can do. Curation is the scarce input, not engine code.
Open items¶
- Re-verification cadence: one verification pass has ever run over the jurisdiction set, and a settled rule changed three months before anyone noticed.
- The remaining seven of the 13 YAML fields are not yet documented in this manual.
effective_fromfor the remaining states; HI, MA and UT sourcing;governmental_noticere-draft from statute text withdeadline_type,entity_classandclaim_class.- Whether the whole jurisdiction set carries the
as_of_basisproperty the New York amendment exposed.