Source: cases/NOTES.md
# CASE DSL — research notes (where cases do NOT fit)
Two rounds. **Round 2 (v1, below)** answers the QA1/QA2 reviews of v0; the **round-1 synthesis**
is kept underneath, each finding marked with what v1 did about it.
## Round 2: v0 → v1, before / after
QA1 (12 files) and QA2 (30 files) passed 31 of 42 reviewed files and returned 11 FIX verdicts.
Their common diagnosis: *explanatory `misfit` prose does not stop an incorrect element/holding
label from being ingested*. v1 therefore moves four things out of prose into checked syntax —
citation **role**, ruling **scope**, fact **polarity**, typed **qualifiers** — and defines an
**instance** as `role applied` + `scope merits` + a decided holding. All 60 files were migrated;
`casedsl.py quotes-equal 24c283d` proves no quote (kind, offsets, text) changed: 1172 before,
1172 after, 0 differ.
| | v0 | v1 |
|---|---|---|
| blocks | 489 | 499 (10 splits where one block mixed a rule with a finding, or two grounds) |
| decided blocks (satisfied / not-satisfied) | 276 — every one ingestible as an instance | 267, of which **200 are instances** and 67 are decided but explicitly NOT instances |
| case-level citation role | none | applied 47 · rule-announced 7 · comparator 4 · background 2 |
| block roles | none | applied 406 · rule-announced 52 · comparator 21 · background 20 |
| block scope | none | merits 435 · procedural 25 · alternative 21 · lower-court 11 · hypothetical 4 · superseded 3 |
| fact lines with polarity | 0 of 572 | 572 of 572: supports 393 · cuts-against 179 (45 of them `absent`) |
| `rule` lines flagged as another court's words | 0 | 27 `[quoted]` (under-inclusive, see below) |
| qualifiers | 172 free-text `for` | party 107 · count 93 · theory 65 · opinion 6 |
| element ids | provisional `ELEMENTS` | checked against `neov2/law/<law>.law` — all 499 blocks use declared ids; 57 element/defense KIND disagreements are warnings (the committed law files class `injury`, `standing`, `pretext`, `employer-reason`, `retaliation`, `aiding` as defenses) |
| `misfit` lines | 341 | 307 (those v1 expresses were deleted; the rest sharpened) |
Instances per statute (v0 decided → v1 instances): § 1962 60 → 44 · § 1983 55 → 44 ·
§ 1 41 → 29 · § 841 39 → 21 · § 2000e-2 81 → 62. The § 841 drop is the largest: three of its
twelve opinions use the statute only as a categorical-approach yardstick and one decides no element.
### The 11 FIX verdicts
| file | defect (reviewer) | v1 |
|---|---|---|
| North Jackson Pharmacy (QA1) | `restraint.per-se : satisfied [conceded]` — only the standard was conceded "if proved" | not-reached, `role rule-announced`; case role rule-announced |
| Midwest Grinding (QA1) | `[proved]` on summary judgment | `[no-evidence]` ×4 |
| Dye v. City of Warren (QA1) | `[law]` on evidentiary summary judgment; arguendo immunity read as plain | `[no-evidence]`; failure-to-train split (Heller `[law]` + footnote `[no-evidence]`, `scope alternative`); qualified immunity `scope alternative` |
| Tunica Web Advertising (QA2) | district court's unreviewed standing ruling recorded as the panel's | `scope lower-court` |
| Calabrese (QA2) | `enterprise : satisfied [pleaded]` in a double-jeopardy appeal | not-reached, `scope procedural`; case role background |
| NOW v. Scheidler (QA2) | `commerce`/`enterprise : satisfied [law]` — only "no economic motive required" was held; Article III standing under `injury` | both not-reached / rule-announced; standing block `scope procedural` |
| Boyle (QA2) | `enterprise : satisfied [proved]` — jury instruction approved, sufficiency not reviewed | not-reached / rule-announced |
| Tiangco (QA2) | quantity block mixed Count 1 and Count 2 | split by `count`; the § 846 block is `role background` |
| Prieto-Tejas (QA2) (+ Vera, same defect) | § 846 conspiracy stored under § 841 `aiding` | still under `aiding` (the law file declares no § 846 id and ids must match it), but `role background` + gloss: no longer a § 841 instance. Proper fix is law-side: a § 846 id or file |
| EEOC v. Francis W. Parker (QA2) | ADEA case attached to a Title VII block | case role comparator — nothing in the file is an instance |
| Ricci (QA2) | wrong `court`; hypothetical impact blocks read as real | `court` corrected with `# IR court field says:` comment; three blocks `scope hypothetical` |
Also acted on from PASS caveats: Dodson's qualified immunity ("available", not "succeeded") is
rule-announced; Henderson's and Hudson's district-court findings are `scope lower-court`; Hicks and
Desert Palace are split into the rule the Supreme Court announced and the finding below; Costa v.
Markey's panel blocks are `scope superseded` with an `opinion` qualifier; Glenn's abandoned claims
are `[waived]` + procedural; `court` also corrected on American Needle and In re Interest Rate Swaps.
### Judgment calls a reviewer should look at (author is not the reviewer)
* **Moncrieffe** — the (b)(4) block was flipped `not-satisfied [law]` → `satisfied [law]` so that
the holding reads in the direction of the exception id (QA1 had passed the v0 form). It is a
comparator block either way, so no instance count depends on it.
* **`[law]` → `[no-evidence]` beyond what QA asked** — Dye first stop (QA1 called `[law]` faithful),
Reves `conduct`, Burrage `death-results`, Levine `injury`, Ricci's defense, Breech's accommodation
claim. All are summary-judgment or sufficiency rulings whose operative step is arguably pure law.
* **Case-level `rule-announced` for Desert Palace** although its result is claimant-won (verdict
affirmed without sufficiency review); likewise Boyle.
* **Calabrese as `background`** — no role fits a double-jeopardy comparison of two RICO indictments.
* **Cooperative Theatres `intent` as rule-announced** although the conviction was affirmed on the
whole record; **Tiangco** ends with a single instance because venue-driven blocks are procedural.
* The migration was done by five subagents (one per statute) under one brief; I resolved cross-cutting
issues and verified mechanically, but did not re-read every opinion.
### What STILL does not fit v1 (honest list)
1. **Role/scope are single-valued and coarse.** A block can be both procedural and alternative
(Tiangco); `alternative` does not say *alternative to which block*, and it removes fully reasoned
holdings from the instance count (Crest's seven-month continuity ruling); there is no scope for
plain dictum, concurrence, or "vacated"; `background` is stretched to cover sibling-statute
blocks that do carry a decided holding (§ 846, § 2000e-3 stays applied only because the law file
declares `retaliation`).
2. **`rule-announced` has no content type.** It stops a mode-of-analysis or "X is not required"
ruling from being read as a finding, but *which* mode was selected, or that a proposed element
was *rejected*, still lives in gloss/variant text. It also hides real instances: Boyle's jury did
find an enterprise; representing that would need the same quotes in a second (lower-court) block.
3. **Relations between elements** remain case-side prose. The law files now have `constraint`s
(`distinct(person, enterprise)`, municipal non-bootstrap, per-se-presumes-intent), but a case
block cannot cite one, nor express a parent element's holding when sub-prongs split (Thompson).
4. **Burden-shifting is still flat.** `employer-reason : satisfied` is a burden of production;
"permits but does not compel" (Hicks) and pretext ≡ because-of are not expressible; a defense that
survives summary judgment because the claimant's version would defeat it has no basis value.
5. **One basis per block.** Rule of law + application on a concession (Burrage), trial finding +
appellate legal ruling, "never put to the jury but uncontested" (Hishaw), Rule 9(b) vagueness
vs. legally insufficient allegations — each needs two values or a new one.
6. **Polarity is binary and whole-line.** Neutral context facts had to take a side; mixed sentences
get one tag; it does not say *whose version* a fact is or whether the court credited it; for
comparator blocks polarity means "toward a categorical match", not conduct; for mode-selection
blocks it means "per se applies", not unlawfulness.
7. **`[quoted]` is under-inclusive** (27 tags): only rules sitting wholly inside attributed quotation
marks were tagged; court-authored sentences with embedded quoted fragments were not.
8. **Qualifier values are still free text.** `party` / `count` / `theory` are typed but not
normalized, so blocks cannot be joined per defendant or per count, and `result` is still per
opinion rather than per party. Comparators (Title VII) were typed as `theory` for want of better.
9. **Frozen quotes limit the fixes.** Dissents (Reves, Boyle, Calabrese, Galloway, Chapman,
Moncrieffe…) could now be `scope dissent` blocks but v0 quoted none; Vincent's waived entrapment
defense stays `not-reached` because a decided block needs a quote. Adding quotes is new
annotation work, not migration.
10. **No temporal / good-law flag, no cross-law pointer.** Dodson's color-of-law block (later
reversed), Weisman's pre-H.J. Inc. rule, Chang/Seville's pre-Boyle test, Ford and Harvey still
count as instances. § 1983 → the constitutional right, comparator → the compared state statute,
Hiatt → Title IX remain prose.
11. **Vehicle statutes.** Unchanged from round 1: § 1983's real elements live in the right asserted.
### Loader status (Astra4 owns `tools/load.py`; not edited here)
* `load.parse_input()` imports all 60 v1 files unchanged (60 case, 499 instance, 1172 fact,
298 variant records): v0 keys of `casedsl.parse()` are intact and `for` is synthesized from the
typed qualifiers.
* A full `load.py` run against the committed (block-notation) law files succeeds: 3536 records —
5 law, 123 element, 60 case, 499 instance, 1172 fact, 290 variant. In the shared working tree the
top-level `neov2/law/*.law` were, at the time of writing, uncommitted drafts in Argon's indented
notation, which `load.py` rejects (`expected field: value`); `casedsl.law_ids()` reads both
notations and the case ids validate against both.
* Adapter changes needed (reported, not made): (a) store `block['role']`, `block['scope']` and
`block['instance']` and make reports/matchers filter on `instance` — today all 267 decided blocks
would still be ingested as instances; (b) store quote `polarity`/`tags` so `absent` and
cuts-against facts are not embedded as positive exemplars; (c) store `party`/`count`/`theory`/
`opinion` separately instead of one `subject`; (d) law side: add a § 846
id (two blocks are parked under `aiding`) and `restraint.quick-look` (Dagher, parked under
`restraint.per-se`), and reconsider classing `injury`/`standing`/`pretext` as defenses;
(e) read the Argon-notation law files if those become canonical.
---
# Round 1 synthesis (v0)
Corpus of the experiment: 60 opinions (12 per statute × 18 U.S.C. § 1962, 42 U.S.C. § 1983,
15 U.S.C. § 1, 21 U.S.C. § 841, 42 U.S.C. § 2000e-2), 1966–2025, SCOTUS / circuit / district,
civil and criminal, wins and losses. 489 element/defense instances, 1172 verbatim quotes
(all machine-verified against IR text), 341 `misfit` lines written by the annotators.
The raw misfits live in the `.case` files (`grep -h '^misfit' neov2/cases/*/*.case`); this file
is the synthesis. Ordered by how much each finding should change the design.
## What worked
* **Verbatim-with-offsets is cheap and robust** when the author never types offsets: write
`fact @? | …`, let `casedsl.py fill` locate it. Curly quotes / dashes / whitespace are the only
real copy errors and are repaired *toward* the source. 1172/1172 quotes verify.
* **Element × holding × basis × variant** is a usable skeleton for the *core* of every opinion
that actually applies the statute to facts (the large majority; exceptions in finding 3).
* **`fact` / `rule` / `held` separation** is natural to annotate and gives the law side its
interpretive glosses for free (`rule` lines are the courts' own element tests).
* **`x-` ids and `misfit` lines** make gaps visible instead of forcing them: 30 distinct `x-`
ids, each one a concrete request to the law model.
* **Failure modes as variants** (N holdings) carry as much signal as successes: 124 not-satisfied
vs 152 satisfied instances (213 not-reached); for RICO `pattern.continuity` 5/5 are failures.
## Findings (negative results included)
1. *(v1: law side now has `constraint`; case side still cannot cite one.)* **Holdings are often RELATIONS between elements, not values of one element.** Seen in every
statute: RICO person ≠ enterprise (Cedric Kushner, Negrete), enterprise ≠ pattern (Boyle,
Chang, Seville), §1964 injury must flow from the investment (Goldfine); § 1983 policy cannot
bootstrap a deprivation (Collins, Dye/Heller); Sherman per-se status depends on the shape of
the agreement (Ford), single-entity reasoning selects the restraint mode (Dagher); Title VII
falsity ≠ discrimination (Hicks). v0 parks these under one element with a
`distinct-from-…/` genus. **Need:** a law-side `constraint` construct
(`distinct(person, enterprise)`, `requires(policy, deprivation)`) that a case block can
instantiate.
2. *(v1: unresolved.)* **Some "elements" are stages of one proof, not conjuncts.** McDonnell Douglas
(prima facie → employer-reason → pretext) is a burden-shifting protocol for the single
statutory element `because-of`; qualified immunity is two prongs with a burden rule;
Twombly/summary-judgment/verdict is a ladder of proof standards. `employer-reason : satisfied`
only means a burden of *production* was met. **Need:** a `protocol`/`stage` notion distinct
from `element`, with who-bears-the-burden.
3. *(v1: yardstick/analogy → `role comparator`; vehicle unresolved.)* **The statute is frequently a VEHICLE or a YARDSTICK, not the thing applied.**
* § 1983 is a vehicle: the doctrine lives in the constitutional right
(`deprivation.eighth-amendment` hides a whole test). The right should be its own law that
a § 1983 instance points into.
* § 841 as comparator: Moncrieffe, Teran-Salas, Suncar compare a *state* statute to § 841 in
the abstract (categorical approach); the case's own facts are legally irrelevant
(`x-categorical-match`). Francis W. Parker cites § 2000e-2 only by analogy in an ADEA case.
* Consequence for the matcher: **a citation to statute S does not imply the case is an
instance of S.** In this sample 2/60 decide no element at all (Person, Francis W. Parker), 5/60 have
result `not-decided`, and at least 3 more use the statute purely as a comparator.
A "role of the citation" field (applied / comparator / analogy / predicate / background)
is the first thing the DB needs — and is itself the "structure of law→case citation" the
charter asks for.
4. *(v1: sibling offences quarantined as `role background`; tiers unresolved.)* **Penalty provisions and sibling offences are not elements.** § 841(b) quantity /
death-results (Burrage, Chapman, Hishaw) behave as elements of aggravated offences with
their own standard of proof; § 846 conspiracy was squeezed into `aiding`; Title VII
retaliation (§ 2000e-3) and religious accommodation (§ 2000e(j)) rode along as sub-elements.
**Need:** one law-dir per offence/claim, and `tier`s on the law side.
5. *(v1: `role rule-announced` covers test-announced / mode-selected / element-rejected / reserved, without distinguishing them.)* **Holding vocabulary is too small.** Missing: *test announced, application remanded*
(Harris, Hicks, Tunica, Leegin — now written as `not-reached` blocks that carry `rule`
quotes); *mode of analysis selected* (per se rejected ≠ restraint lawful: Dagher, Leegin,
American Needle, North Jackson); *proposed element rejected* ("X is not required": NOW's
economic motive, Boyle's hierarchy, Hudson's significant injury, Harris's psychological
injury); *expressly reserved*; *defense available vs. defense succeeded* (Dodson).
6. *(v1: rules fixed per QA1, all `[proved]`/`[law]` blocks re-examined; two-layer bases unresolved.)* **Basis vocabulary.** v0's six values had no failure senses. Fixed in v0.1 by adding
`no-evidence` (summary judgment against the claimant / verdict reversed for insufficiency)
and `waived`; 22 blocks were re-tagged. Still missing: jury-instruction review, Rule 9(b)
particularity vs. legal insufficiency, "facially sufficient indictment", alternative
("even assuming") holdings, and two-layer bases (trial finding + appellate legal ruling).
`[pleaded]` + not-satisfied still conflates "alleged facts fail the test" with "nothing
alleged". 11 `not-satisfied [proved]` blocks remain to be reviewed by QA against `no-evidence`.
7. *(v1: typed `party`/`count`/`theory`/`opinion`; values still free text.)* **`for` is overloaded** (defendant, count, subsection, incident, legal theory, comparator,
penalty tier, *which opinion in the record*). Outcomes are really a grid
element × defendant × claim × adverse-action. **Need:** typed qualifiers
(`party`, `count`, `theory`, `opinion`) and OR/alternative markers between blocks.
8. *(v1: polarity + `absent` on every fact line; source/credited-by still missing.)* **Facts need attributes.** `fact` lines cannot say whose version (allegation / affidavit /
finding / assumed for the verdict winner), nor polarity (supports vs. cuts against the
holding), and at the pleading stage most "facts" are *absences* ("the complaint does not
allege…"). For the similarity matcher this matters: absence-facts and counter-facts must
not be embedded as positive exemplars of the element.
9. **Evidence ≠ element.** Quantity, purity, scales, cash are evidence of
`intent-to-distribute`; comparators, remarks, timing are evidence of `because-of`. The
reusable unit below the element is the *evidentiary route* — which is exactly what the
variant genus ended up encoding (`inferred/`, `comparator/`, `temporal-proximity/`,
`direct-evidence/`, `parallel-conduct/`). Comparators deserve their own structure.
10. **Variant labels: genus recurs, species does not (at n = 12).** 281 of 284 species labels
are singletons; genera recur (e.g. RICO `association-in-fact/` 9×, `operation-or-management/`
6×; § 1983 QI `clearly-established/` 6×; Sherman `per-se-rejected/` 4×, `capacity-to-conspire/`
5×; § 841 `constructive/` 4×, `actual/` 4×). After a manual pass moving success/failure out
of the genus (the holding carries it) the catalogue groups by genus. Species need either
more cases or embedding-based clustering — this is where the charter's step 4 (semantic
search assisting extraction) should start. Label drift between two annotators on the same
statute was real (63 labels re-genused).
11. *(v1: unresolved.)* **No temporal / good-law dimension.** Dodson's color-of-law holding was reversed by the
Supreme Court; Seville was reversed on appeal; Ford and Harvey are pre-Sylvania /
pre-Copperweld; Chang/Goldfine's structure test was relaxed by Boyle; Leegin overrules
Dr. Miles. Variants harvested from superseded cases feed the catalogue as if current.
(These histories are annotator knowledge, not in the pinned text — a citator link is needed.)
12. *(v1: `opinion` qualifier, `scope dissent`/`superseded`; IR segmentation still needed.)* **Opinion structure is invisible in the source text.** Dissents/concurrences are 30–50 % of
some records and verify as quotable; one IR record (Costa v. Markey) concatenates a panel
opinion and the en banc opinion that reverses it; Person holds an adopting order plus a
magistrate's report. **Need:** opinion-span segmentation (author, majority/dissent) before
any automatic extraction, else dissent text is matched as holding.
13. **Multi-statute opinions.** Constructive possession is developed on § 922(g) counts and
silently governs § 841 (Kitchen, Hishaw); half of Kamenesh is Florida law; Hiatt is the same
instance under Title VII + Title IX. One opinion → many law instances sharing facts.
## Corpus / IR data issues found (for the pipeline owners; source text untouched)
* IR `text` is **capped at ~60 000 chars**; 5 of the 60 hit the cap (majorities complete in all
five, dissents and sometimes the disposition lost — Ricci).
* `statute_cited_by.json` lists only the 50 most recent citing cases per statute; candidates
were instead taken from the `*.refs.jsonl` out_links (5 317 citing cases for § 1962,
57 463 for § 1983). U.S. Reports coverage is vols. 500–572 (+410, +cl 601–606): pre-1991
landmarks (Sedima, H.J. Inc., Monell, McDonnell Douglas, Copperweld) are absent.
* Wrong `court` metadata: American Needle (560 U.S. 183) and Ricci (557 U.S. 557) carry the
court *below*; In re Interest Rate Swaps says S.D. Ill. (is S.D.N.Y.); Reves caption truncated.
* f4th slip opinions (Galloway, Suncar) are one flattened paragraph with page/line numbers and
footnotes interleaved mid-sentence; footnotes elsewhere are appended without anchors.
* OCR variants of one name inside one opinion (Healthcfeoice/HealthcAoice; Harr/Haar) will
defeat entity matching; courts' own miscitations ("28 U.S.C. § 1961", "42 U. S. C. § 1988")
defeat citation-keyed loading.
## Proposed v1 (for Argon / Astra4 / QA to react to)
`cite-role` header line · law-side `constraint` and `protocol/stage` · holdings
`standard-set` / `mode-selected` / `element-rejected` · typed `party|count|theory|opinion`
qualifiers replacing `for` · fact attributes `src=` and `polarity=` · `alt` marker for
alternative holdings · `superseded-by` · opinion-span segmentation in the IR · one law-dir per
claim/offence (§ 846, § 2000e-3, constitutional rights behind § 1983).
## Wave 2 — §78j / Rule 10b-5 case instances (Astra2)
Ten opinions (2004–2019), 23 blocks, 98 exact quotes, 17 merits instances.
The [research log](15usc78j/RESEARCH.md) records reading windows and qualifications;
[VARIANTS.md](15usc78j/VARIANTS.md) separates non-instance rulings.
- Maker attribution, reliance, scienter and loss are issue-specific outcomes;
overall affirmance does not populate every securities-fraud element.
- Amgen certification and Afriyie instruction review do not establish merits
instances. SEC enforcement does not import private reliance/economic loss.
- Final claimant-winning summary judgment lacks an exact basis token. Hui Feng
uses explicitly qualified `law` for conclusions on an undisputed record;
this is not trial factfinding or mere survival of summary judgment.
- Mixed factual sentences need richer polarity; historical omission/insider-trading
rules need temporal qualifiers. One frozen Stoneridge rule excerpt ends midword;
complete holding quotes support the result. It was preserved under the no-edit
rule and is flagged in the case/research log, not silently repaired.
Quotes were frozen after fill and independently compared before commit. Final
QA is separate from this author/structural review.
## Wave 2 — §1125(a) case instances (Astra2)
Ten opinions (2000–2019), 28 blocks, 90 exact quotes, 16 merits instances.
See [RESEARCH.md](15usc1125/RESEARCH.md) for contextual reading pins and
[VARIANTS.md](15usc1125/VARIANTS.md) for the generated catalogue.
- False association/mark rights, nonfunctionality and advertising are separate
routes. Successful fair use is a satisfied defense, not satisfied infringement.
- Preliminary-injunction conclusions are scoped procedural, not final merits
facts; rule-only Wal-Mart does not find secondary meaning absent. Lexmark's
reserved advertising premise is not-reached, not an alternative holding.
- The basis vocabulary lacks successful summary judgment and provisional-merits
proof. Narrowly explained law/no-evidence labels retain those limitations.
- The generator correctly reports sixteen instances but also displays two
applied-not-reached rows under its main coverage table. Consumers must use
block.instance rather than assume every main-table row is a merits instance.
- Genus's IR stops at 60,000 characters; only observed complete discussions are
encoded. Dastar's hypothetical advertising claim and reserved profits issue
do not become findings on real liability or entitlement to relief.
A separate bounded peer pass corrected scope/polarity explanations without
changing any of the ninety frozen quote tuples. Final independent QA follows.
## Wave 2 — §1981 case instances (Astra2)
Ten opinions (2004–2019), 25 blocks, 76 exact quotes, 14 merits instances.
See [RESEARCH.md](42usc1981/RESEARCH.md) for source hashes/read windows and
[VARIANTS.md](42usc1981/VARIANTS.md) for evidence variants.
- Own-contract rights, racial-intent evidence, retaliation and state-remedial
routes are separate. Availability of a §1983 vehicle does not prove liability.
- Brown's res judicata ruling is background/procedural, not a contractual injury
finding. Jones's limitations choice and Bryant's timely-component evidence
are procedural; they are not merits discrimination instances.
- Pretext and comparators are evidence routes to intent, not separate statutory
claims. CBOCS announces retaliation coverage without finding its facts proved.
- These pre-Comcast opinions do not establish a modern but-for finding; Hu's
comparator pleading rule remains context-specific. Four applied-not-reached
blocks preserve unadjudicated context and must not be counted as instances.
- Hu's IR is capped at 60,000 characters but its §1981 discussion is complete.
The sample is intentionally diverse in posture, yet 2019 and the Eighth Circuit
remain overrepresented. There is no typed neutral-polarity or good-law field.
A bounded peer pass corrected Bryant's evidentiary basis and contextual fact
polarity and clarified Hu, without changing any of the 76 frozen quote tuples.
Final independent QA follows.
---
# Wave 2 (Fable): 18 U.S.C. §§ 1341, 1343, 922(g), 924(c)
45 opinions written directly in v1 (10 mail fraud, 10 wire fraud, 15 § 922(g), 10 § 924(c)),
1967–2025; 204 blocks, 624 verbatim quotes, 0 check errors and no id warnings (every id is declared in
`neov2/law/<law>.law`; no `x-` ids were allowed). Directory names follow the law files:
`18usc922`, `18usc924`. Case selection as in `SELECTION.md` (refs-derived pool, keyword ranking,
hand pick), with comparator / procedural opinions included on purpose.
| statute | cases | case roles | blocks | decided | **instances** | facts supports / cuts-against (absent) |
|---|---|---|---|---|---|---|
| § 1341 | 10 | applied 8 · rule-announced 1 · comparator 1 | 63 | 33 | **29** | 68 / 45 (13) |
| § 1343 | 10 | applied 9 · background 1 | 50 | 27 | **21** | 52 / 20 (8) |
| § 922(g) | 15 | applied 9 · comparator 3 · background 2 · rule-announced 1 | 45 | 22 | **9** | 44 / 22 (4) |
| § 924(c) | 10 | applied 7 · comparator 2 · rule-announced 1 | 46 | 25 | **16** | 46 / 21 (5) |
107 decided blocks, 75 instances: v1's role/scope gate removes 30 % of what v0 would have ingested.
## Findings
1. **§ 922(g): a citation is rarely an instance, and keyword ranking does not find the instances.**
The first ten opinions (picked by element-keyword density) yielded 3 instances: they were
definitional status rulings (Hayes, Small, Cassidy), evidence rulings (Old Chief, Rhodes),
categorical-approach / Bail Reform Act / immigration comparators (Campbell, Hernandez, Dunlap),
a Second Amendment challenge (Kimble) and an instruction ruling (Nance). Five more opinions were
then chosen specifically for sufficiency language; even of those, one had no § 922(g) charge at
all (Spears), one was an acquittal (Cochran), and one was reversed en banc (Moye). Final: 9
instances from 15 opinions, none on the commerce or knowledge elements. For a high-volume
status offence the litigated questions are definitional and collateral; the element facts are
stipulated. **Consequence for the matcher: instance-bearing opinions must be found by posture
(sufficiency review), not by citation or keyword density.**
2. **Definitions carry the holdings but have no ids.** § 921(a)(20) (restoration of civil rights),
§ 921(a)(33) (misdemeanor crime of domestic violence), "convicted in any court" — the law file
has them only as xrefs under `status.*`, so the real ruling sits in variant/gloss text. Same for
"falsity/deception" in the fraud statutes (parked under `materiality` or `scheme`).
3. **Honest-services fraud is a whole claim squeezed into one boundary node.** Sancho, Jefferson and
Boone are complete § 1346 prosecutions; `honest-services-boundary` has no defined
satisfied/not-satisfied meaning and the § 1346 elements (fiduciary duty, bribe/kickback) have no
ids, so their `scheme`/`intent` instances cannot say which claim they belong to.
4. **Sibling statutes share elements.** Mail and wire fraud are decided by the same reasoning in
the same paragraphs (Southern Snow, Kousisis, Evans, Henry — the last has no § 1341 count at
all); § 922(g) and § 841 share constructive-possession doctrine (Kitchen, Cochran). Each is
recorded under one law; there is no shared-element pointer.
5. **Offence-level rulings have no home**: unit of prosecution (Phipps: one use of one gun, two
predicates, one § 924(c) count), "is by its nature a crime of violence" (Campbell), which
possession incident the conviction rests on (Nance), jury acquittal (Cochran, Yeager),
guilty plea (Kimble). They were parked under an element with `scope procedural` or left as misfits.
6. **Secondary liability**: Pinkerton (Ocampo, Baker) has no id (`accomplice` is § 2 only);
`accomplice` has no act/intent sub-ids, so Rosemond's decided act prong is under-recorded as
not-reached to avoid counting the whole element.
7. **Constitutional and evidentiary rulings** (Second Amendment as applied to (g)(1) — the only
declared defense is (g)(3)-specific; Rule 403 stipulations; admissibility "to prove element X";
the revenue rule in Pasquantino) have no ids; with `x-` ids forbidden they exist only as misfits.
This is the price of "ids must match the law file": 207 misfit lines, and the law side should
read them as its backlog.
8. **`scope superseded` widened.** Moye's panel opinion was reheard en banc in a *different* IR
record; the scope now covers that (the en banc record `/f3d/454/0390-01` is not yet annotated).
More generally there is still no good-law flag: Granberry and Henry (right-to-control, pre-
Ciminelli), Ocampo (pre-Bailey "use"), Bailey itself (pre-1998 text), Jefferson (pre-Skilling
conflict-of-interest theory), Phipps (residual-clause predicate) all count as instances.
9. **Polarity strains on undisputed-fact legal rulings.** In Muscarello, Bailey, Small, Cleveland
the same fact both satisfies the winning rule and is the loser's whole argument; institutional
and legislative facts (a state licensing scheme, an Ohio statute) are "facts" only by courtesy.
`[supports absent]` appeared (no justification offered) — legal under the checker, not
illustrated in the spec.
10. **Known v1 gaps recurred in every statute**: one basis per block (legal ruling + conceded or
proved facts), "X is not required" rulings without a type (Kousisis, Neder, Hayes, Dean),
cumulative vs alternative grounds (Galloway's second furtherance theory counts as a second
instance), comparator cannot name the compared law or its direction (Dunlap borrows *from*
§ 922(g)), result per opinion not per count (Chung Lo: four counts affirmed, four reversed).
11. **IR text**: 2025 U.S. preliminary prints and f4th slip opinions are one flattened paragraph
with running heads and line-break hyphens (Kousisis, Kimble); `court` wrong on Nijhawan, Yeager
and Kousisis ("scotus") — corrected in the headers with a `# IR court field says:` comment;
footnotes spliced mid-sentence (Henry).
## For the reviewers (author ≠ reviewer)
Extraction by nine subagents under one brief; quotes, offsets, ids and role/scope/basis rules are
machine-checked, legal calls are not. The annotators flagged these as uncertain: Hayes and
Cleveland as `applied` (categorical construction with the outcome following directly) vs
rule-announced; Henry as `applied` although no § 1341 count exists; Kousisis `intent` as
rule-announced; Holland's `carry`/`during-relation` as merits instances inside a § 2255 prejudice
inquiry; Phipps `predicate.violence : satisfied [law]` on one unanalysed sentence; Baker's Pinkerton
ruling parked under `intent` with `scope alternative`; several `[law]` vs `[conceded]`/`[proved]`
choices (Muscarello, Dean, Pasquantino, Boone). Several Supreme Court dissents and parts of long
opinions (Neder Part II-A, Pasquantino Part III, Davis v. Beeler's exhaustion narrative) were
skimmed, not read; no quote comes from an unread stretch.
## Wave 2 — 29usc158 (Astra4)
Employer ULP review distinguishes final enforcement from interim section 10(j) relief, contextual interrogation, insignia defenses, workforce retaliation, lost strike protection, and bargaining variants. Result follows the General Counsel/charging party, not the employer petitioner.
Ten CASE DSL v1 files; 15 issue blocks, 13 qualifying merits instances, 50 exact quote occurrences. See [29usc158/SELECTION.md](29usc158/SELECTION.md) for source/selection limitations and the final quote-set fingerprint; [29usc158/VARIANTS.md](29usc158/VARIANTS.md) separates instance counts from other annotations. The sample is purposive, not representative. Independent legal QA follows.
## Wave 2 — 29usc623 (Astra4)
The active ADEA catalogue is section 623, not section 621. The sample distinguishes pleaded, triable and jury-proved treatment/retaliation evidence, RFOA after prima facie impact, charge accrual, abandoned age appeals, and pension issues outside the core model.
Ten CASE DSL v1 files; 16 issue blocks, 13 qualifying merits instances, 38 exact quote occurrences. See [29usc623/SELECTION.md](29usc623/SELECTION.md) for source/selection limitations and the final quote-set fingerprint; [29usc623/VARIANTS.md](29usc623/VARIANTS.md) separates instance counts from other annotations. The sample is purposive, not representative. Independent legal QA follows.
## Wave 2 — 21usc846 (Astra4)
Attempt and conspiracy remain separate. Accepted intent is not a substantial step; conspiracy identity, plain-error prejudice, retrial sufficiency and sentencing context do not become unqualified merits findings. Result follows the prosecuting government.
Ten CASE DSL v1 files; 19 issue blocks, 8 qualifying merits instances, 34 exact quote occurrences. See [21usc846/SELECTION.md](21usc846/SELECTION.md) for source/selection limitations and the final quote-set fingerprint; [21usc846/VARIANTS.md](21usc846/VARIANTS.md) separates instance counts from other annotations. The sample is purposive, not representative. Independent legal QA follows.