Source: qa/wave2-cases-QA2.md
# QA2 review — wave-2 Fable cases and DSL-v2 spot-check Ran `python3 neov2/tools/casedsl.py check neov2/cases` first: 165 files, 2,182 quotes, zero errors, with one warning that the Moncrieffe marijuana-sharing exception is declared as an exception in LAW. Selected two files per assigned statute, prioritizing the uncertainties in `cases/NOTES.md`; then opened the corresponding pinned IR opinion passages. Also checked DSL-v2 with `python3 dsl2.py check -v cases law`: 19 files, 367 quotes, zero errors. `FIX` means a holding, role, scope, variant, or basis label would mislead a reader or downstream consumer. `PASS` means the reviewed labels match the opinion, even when the file records a structural limitation in `misfit`. ## Per-file verdicts ### 18 U.S.C. § 1341 - **FIX —** [`f3d-29-112-us-v-henry.case`](../cases/18usc1341/f3d-29-112-us-v-henry.case) (United States v. Henry). The property ruling is faithfully quoted and the opinion construes the common property requirement for federal mail/wire/bank fraud. But the indictment contained no substantive §1341 count: mail fraud was one object of a §371 conspiracy, while the substantive counts were wire and bank fraud. The top-level `law 18usc1341` currently makes the record look like a direct applied §1341 instance. The existing `misfit` identifies this problem but does not change the machine-readable role. Scope it as cross-statute interpretation/background rather than an unqualified applied case. - **PASS —** [`us-531-12-cleveland-v-us.case`](../cases/18usc1341/us-531-12-cleveland-v-us.case) (Cleveland v. United States). This is a direct §1341 conviction. The Court holds the State's unissued video-poker licenses are not property in the State's hands; it also rejects the Government's independent-clause theory. The two `property : not-satisfied [law]` blocks and scheme not-reached label are faithful. The separate relation between the statute's clauses remains a documented DSL limitation. ### 18 U.S.C. § 1343 - **FIX —** [`us-605-114-kousisis-v-us.case`](../cases/18usc1343/us-605-114-kousisis-v-us.case) (Kousisis v. United States). The scheme, property, and conceded materiality annotations track the Supreme Court's fraudulent-inducement holding. The `intent : not-reached` block is appropriately not a finding about the defendants' mens rea, but its variant `intent-to-obtain/no-intent-to-cause-net-loss-required` attaches a property/no-economic-loss rule to the intent element. The Court held that net economic loss is not required when money or property is the scheme's object; it did not decide a separate intent element. Move or relabel that negative rule on the property side. - **FIX —** [`f3d-923-390-us-v-baker.case`](../cases/18usc1343/f3d-923-390-us-v-baker.case) (United States v. Baker). The property block correctly treats the appellate decision as instruction review, and the lower-court sufficiency ruling is separately scoped. However, `intent : satisfied [proved]` records Pinkerton co-conspirator liability as if the court found Baker's personal intent element. The panel upheld wire-fraud convictions because the jury was instructed on Pinkerton and the fraudulent acts were foreseeable and in furtherance of the conspiracy; it did not decide the challenged aiding-and-abetting instruction or make the stated personal-intent finding. The gloss/misfit recognize the problem, but the element holding remains misleading as data. ### 18 U.S.C. § 922(g) - **PASS —** [`us-555-415-us-v-hayes.case`](../cases/18usc922/us-555-415-us-v-hayes.case) (United States v. Hayes). The Supreme Court held that a generic battery statute can qualify under §921(a)(33)(A) when the domestic relationship is proved in the §922(g)(9) prosecution; that relationship need not be an element of the predicate offense. `status.g9 : satisfied [pleaded]` fits the indictment taken as true, while possession is correctly marked not reached. The dissent and conditional-plea posture are identified as limitations. - **PASS, historical record only —** [`f3d-422-207-us-v-moye.case`](../cases/18usc922/f3d-422-207-us-v-moye.case) (United States v. Moye). The panel's insufficiency ruling and dissent's opposite inference are separated by scope, and the majority block is marked superseded after en banc rehearing. The file itself says the en banc opinion affirmed and should be annotated separately; until that companion record exists, this file must not stand in for current controlling law. ### 18 U.S.C. § 924(c) - **PASS with scope caveat —** [`f3d-116-1353-us-v-holland.case`](../cases/18usc924/f3d-116-1353-us-v-holland.case) (United States v. Holland). Bailey made “use” insufficient, but the Tenth Circuit denied §2255 relief because the jury's instructions/findings necessarily established vehicular carrying and its nexus. The carry and during-relation results match the court's functional-equivalence holding. The record is a collateral actual-prejudice analysis, not a fresh sufficiency review; the existing `misfit` explains this, though no explicit procedural scope is encoded. - **FIX —** [`f3d-319-177-us-v-phipps.case`](../cases/18usc924/f3d-319-177-us-v-phipps.case) (United States v. Phipps). The court says the defendants used the gun once and holds that one use cannot support two §924(c) convictions for two predicates. The second `use : not-satisfied [law]` block therefore labels a unit-of-prosecution/multiplicity ruling as failure of the use element, contradicting the same file's `use : satisfied [conceded]` block. The gloss explains the distinction, but the structured holding remains wrong. The separate `predicate.violence : satisfied [law]` is also only a one-sentence, uncontested predicate statement from 2003; keep its date/weak authority caveat visible because its residual-clause basis predates *Davis*. ## DSL-v2 spot-check - **PASS with caveat — Boyle.** The v2 entry accurately separates the jury's enterprise finding from the Supreme Court's instruction-approved review, scopes Stevens's dissent, and captures the enterprise/pattern relationship and rejected hierarchy requirements. The report is right that the overall general verdict is not rolled up to all elements. One tested ruling remains awkward: `requirement-rejected` targets `enterprise.distinct-from-pattern` for an instruction-wording requirement; the report correctly identifies this as an instruction-form rule, not a substantive element feature. - **FIX to the case model; report candidly identifies it — American Manufacturers.** The opinion's §1983 vehicle / Fourteenth Amendment right structure and its different holdings for insurers versus officials are visible in v2. But the three state-action routes are alternatives, while the file uses `ground cumulative`; the checker/classifier ignores `ground`, so the party-asymmetric grounds are recorded but not operational. The report accurately calls this “sayable, not usable” and notes that carried-right findings do not roll up to §1983 `deprivation`. Its claimed expressiveness is therefore incomplete on a central example. - **PASS with caveat — Moncrieffe.** The v2 ruling correctly treats §841 as a comparator, not the charged statute, and accurately captures the Supreme Court's holding that (b)(1)(D) and (b)(4) are mutually exclusive tiers with no default; the Georgia conviction does not necessarily establish the felony facts. It also distinguishes the defendant's burden in a hypothetical federal sentencing from the categorical immigration inquiry. The comparator statute and actual INA disposition remain absent, as the report acknowledges, and `count ga-pwid` is a workaround for the compared state offense. ## Report checks and migration verdict The report's **“do not migrate the corpus to v2 wholesale” recommendation is sound**. The v2 work is a useful experiment for the hardest cases and shows real gains in opinion attribution, relation/protocol targets, comparator roles, and uncertainty. It is not ready to replace v1: some structures remain unconsumed (`ground`), several rulings fragment one case outcome, 45 of 50 v1 misfits remain or transform, and v2 has no production loader. Keep v1 for routine cases and selectively back-port the low-cost safeguards the report names. Several totals in the report's v1/v2 size table do not match its own stats command on the checked-in 11 case pairs. Re-running `python3 dsl2.py stats cases` gives **855 v1 lines versus 1,439 v2 lines (1.68×)**, not 636 versus 1,439 (2.3×). It also gives 84 v1 blocks (not 83), 181 v1 quotes (not 190), and 46 v1 misfits (not 50); the v2 totals of 133 rulings, 328 quotes and 45 misfits reproduce. The v2 increase is still substantial, but the report's v1 baseline is inconsistent. The comparison files were last changed before the v2 report commit, so these figures are not explained by a later v1 edit. ## Overall verdict on the assigned set The assigned wave-2 set does **not** pass unchanged: 4 of the 8 reviewed v1 files are `FIX` for structured role, variant, or scope problems; the remaining files pass with explicit limitations. The most serious issues are Henry's sibling-statute scope, Kousisis's misattached negative rule, Baker's Pinkerton liability encoded as personal intent, and Phipps's unit-of-prosecution holding encoded as an element failure. DSL-v2's “no wholesale migration” call is supported, but the stated line-count ratio is not. Verification: v1 checker — 165 files, 2,182 quotes, 0 errors (one unrelated Moncrieffe exception warning); DSL-v2 checker — 19 files, 367 quotes, 0 errors. No `.case`, `.case2`, LAW, or source-text files were edited.