Source: law/NOTES.md
# LAW catalogue — Round 3 The five revised pilot catalogues use the indented grammar in `LAW-DSL.md`, with claims, constraints, elements, exceptions, defenses, exact statutory `text` anchors, and exact interpretive `rule` anchors. `tools/load.py` accepts this syntax and preserves its evidence and scope in SQLite. The old block-record grammar is still supported for legacy fixtures; it is not the active authoring format. ## Scope and interpretation These are research catalogues, not executable liability tests. Claim formulas are shorthand whose accompanying glosses remain essential. Statutory alternatives, judicial inference frameworks, cross-statute routes, procedural defenses, and remedy qualifications are not interchangeable. A negative or not-reached result is useful evidence rather than a reason to invent a rule. `QA2-RESPONSE.md` maps each QA2 FIX to the correction. In particular: - Sherman criminal liability is not limited to a per-se route. The Monsanto inference is conditional on the evidentiary setting. - RICO predicate children are an expressly incomplete index. Historical pre-Boyle language is not an operative post-Boyle rule. The extortion economic-motive quote is context-only. - §841 covers (a)(1) and selected (b) tiers. It does not claim full coverage of counterfeit drugs, listed chemicals, internet offenses or all penalties. Aiding under §2 and conspiracy under §846 are separate companion routes. - §1983 separates a damages-remedy issue from judicial standing for prospective relief. D.C.-law inclusion is not a carve-out. The First Amendment example is Pesci's scoped civil-detention speech holding. - Title VII includes the identified practice routes and statutory qualifiers; qualified/pretext remain inferential frameworks. Ricci's impact analysis remains hypothetical within its intentional-discrimination defense. Judgment-preclusion conditions and preserved challenges are explicit. The source corpus may postdate an opinion. Source pins and quote equality do not establish historical applicability, controlling authority, complete predicate coverage, or correctness of every annotation. Remaining legal re-review is separate from the author checks reported here. ## Provenance and source convention Offsets are zero-based Unicode code points, end-exclusive, into the pinned USC or case IR record's canonical `text` field. They are not rendered-page or HTML offsets. Every stored statutory/case quote has a source pointer and the SHA-256 of the full canonical text; LAW/CASE headers also pin source metadata. The loader reads actual corpus records rather than trusting cached case text. No source law or opinion text was changed or normalized. `xref` and `gloss` are reference/analysis annotations, not additional machine-verified statutory quote records. Interpretive rules retain their case IDs and exact offsets. Constraint-rule quotes and all repeated statutory anchors are retained; selecting only the first quote would lose subsection-specific provenance. Argon snapshots remain under `law/argon/`, excluded from active imports. They are historical alternatives, not an additional source of active element rows. The current canonical grammar now shares their structured design; older Round 2 comparisons between block and indented notation are historical. ## CASE v1 integration Fable's migration at `237a557` supplies all 60 CASE v1 files. Every case issue resolves to an authored LAW ID. `x-conspiracy-846` is preserved literally; `aiding` remains only a compatibility alias. No CASE source or quote was edited for integration. All 1,172 quote multisets equal the pre-migration revision `d01702d`. The database retains 499 issue annotations. Only 200 satisfy the v1 instance criterion: applied citation, merits scope, reached holding. The other 299 annotations remain available as comparator, rule-announced, background, procedural, hypothetical, alternative, lower-court, superseded, or not-reached material. Facts retain polarity/absence; instances retain typed qualifiers. Do not infer a liability probability from these deliberately selected cases. `db/variant-counts.md` reports qualifying instances first and other annotations separately. Counts are per issue block, independent of its number of evidence passages. LAW-only variant definitions with no case instances do not become observations merely because they exist in the catalogue. ## Reproduction and verification ``` python3 neov2/tools/load.py python3 neov2/tools/report.py > neov2/db/variant-counts.md python3 -m unittest discover -s neov2/tools/tests -p 'test_load*.py' -v python3 -m unittest discover -s neov2/tools/tests -p 'test_law*.py' -v python3 neov2/tools/casedsl.py check neov2/cases python3 neov2/tools/casedsl.py quotes-equal d01702d neov2/cases ``` Run `lawdsl.py check neov2/law` to check all active `.law` files in `neov2/law/` (or `lawdsl.py check neov2/law/argon` for the Argon pilot snapshots). In isolated checkouts, `--corpus` selects the loader's source root, `NEOV2_TEST_CORPUS` selects integration-test sources, and `NEOV2_CORPUS` selects the standalone DSL checkers' sources. Author validation: 29 loader/catalogue/QA-regression/LAW-DSL tests; five pilot LAW files, 168 statutory quotes and 300 case-rule quotes (15 total LAW files, 319 statutory quotes and 406 case-rule quotes); 60 CASE files and 1,172 quotes; SQLite integrity and foreign-key checks. The checker retains one vocabulary warning: Moncrieffe uses the small-marijuana exception as an element in a comparator analysis. That scope is retained and it is not counted as a merits instance. Independent QA acceptance and deployment are not claimed. ## Argon — LAW DSL v0 notation findings See [argon/NOTES.md](argon/NOTES.md) and [LAW-DSL.md](LAW-DSL.md) for the full design rationale and open problems: - **What worked**: Separating Boolean `claim <id> : <expr>` formulas from flat/dotted `element` / `exception` / `defense` blocks; cross-element `constraint <id>(<el1>, <el2>)` blocks for relational rules (e.g. RICO `distinctness`, `enterprise-pattern-overlap`, § 1983 `municipal-non-bootstrap`, Sherman `per-se-presumes-intent`, Title VII `mcdonnell-douglas-burden-shifting`); explicit `not-required` checklists; and `@?N` occurrence-indexed offset filling via `lawdsl.py fill`. - **What didn't fit cleanly / open problems for v1**: (1) Most litigated sub-elements and defenses originate in judicial gloss or companion sections (`18 U.S.C. §§ 1961, 1964(c)`, `15 U.S.C. § 15`, `21 U.S.C. § 846`, `42 U.S.C. §§ 2000e(j)/(k), 2000e-3(a), 2000e-5(g)(2)(B)`) rather than the text of the pilot section itself; (2) burdens of production vs. persuasion (*McDonnell Douglas* / *Ruan*) and remedy-limiting defenses (`x-same-decision`) are richer than binary truth values; (3) temporal doctrinal supersession (e.g. *Boyle* rejecting pre-*Boyle* ascertainable structure, *Leegin* overruling *Dr. Miles*, *Polk County v. Dodson* reversing 8th Cir. *Dodson*) needs first-class temporal/status tags on `rule` lines. ## Wave 2: employer labor practices See [NOTES-29usc158.md](NOTES-29usc158.md) for §158(a)'s six-case research record, statutory versus judge/Board-made rules, and branches not resolved by the sample. ### Wave 2: 18usc1341 See [NOTES-18usc1341.md](NOTES-18usc1341.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [18usc1341.law](18usc1341.law). ### Wave 2: 18usc1343 See [NOTES-18usc1343.md](NOTES-18usc1343.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [18usc1343.law](18usc1343.law). ### Wave 2: 18usc922 See [NOTES-18usc922.md](NOTES-18usc922.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [18usc922.law](18usc922.law). ### Wave 2: 29usc623 See [NOTES-29usc623.md](NOTES-29usc623.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [29usc623.law](29usc623.law). ### Wave 2: 18usc924 See [NOTES-18usc924.md](NOTES-18usc924.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [18usc924.law](18usc924.law). ### Wave 2: 15usc78j See [NOTES-15usc78j.md](NOTES-15usc78j.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [15usc78j.law](15usc78j.law). ### Wave 2: 21usc846 See [NOTES-21usc846.md](NOTES-21usc846.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [21usc846.law](21usc846.law). ### Wave 2: 15usc1125 See [NOTES-15usc1125.md](NOTES-15usc1125.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [15usc1125.law](15usc1125.law). ### Wave 2: 42usc1981 See [NOTES-42usc1981.md](NOTES-42usc1981.md) for the case-reading record, statutory/doctrinal boundary and version/scope limitations of [42usc1981.law](42usc1981.law). ## Concurrent Wave 2 integration The final rebase also included ten independently authored Wave 2 LAW files listed above. The default full import verifies 15 laws: 283 elements, 57 claim formulas, 18 constraints, 319 statutory anchors, and 406 quoted case rules. It contains 4,529 rows overall. The CASE pilot remains 60 cases, 499 annotations, 1,172 passages, and 200 qualifying instances. This import checks all source spans and relationships; it does not extend this task's legal review beyond QA2's five revised statutes. All 25 scoped tests plus 14 existing CASE-parser tests pass after rebasing.