Source-linked AI summary
A Grammar of French Civil Cassation: A Ground-Level Dataset and Tool
Avrile Floro, Tamara Dhorasoo, Nils Holzenberger, Thomas Le Goff, Tiphaine Viard, Maria Boritchev
TL;DR
The Court of Cassation’s open rulings are difficult to use for tracing trends, and a single case-level outcome can miss different results across grounds in one ruling. This paper builds a deterministic, doctrinally labeled ground–reasons dataset from five civil chambers’ rulings. It finds concentrated cassation families alongside decade-long shifts in partial cassations and rejection mechanisms.
Problem
Open publication alone does not structure case-law trends, and a ruling-level label cannot show grounds that receive different outcomes within one ruling.
Source: §1 · p. 1Method
A deterministic pipeline pairs each ground with the Court’s reasons and assigns doctrinal families, producing a dataset from Judilibre rulings and releasing its code and consultation tool.
Source: §1 · p. 2, §4 · p. 5, §5.2 · p. 6Results
Violation of the law and lack of legal basis account for 80.1% of accepted grounds, while partial cassations and summary rejections rise over the decade.
Source: §7 · pp. 8–9Takeaways & Limitations
The released queryable resource supports descriptive study of ground-level outcomes, doctrinal families, legal texts, and their changes over time.
Source: §8 · p. 10Canonical-wording rules miss unusual phrasing, making specific family counts lower bounds; summary rejections also do not state why a ground failed.
Source: §8 · p. 10
Abstract
from arXiv · showhide
This paper presents a dataset of 121,536 ground-reasons pairs across 86,464 rulings of the five civil chambers of the French Court of Cassation (2016-2025). An appeal on points of law cannot itself be appealed and often decides a case for good. Understanding how the Court rules is thus crucial and can help lawyers who draft those appeals. Inside a ruling, every ground of appeal (a distinct legal complaint against the appealed decision) has its own answer from the Court. This answer is called the reasons and it belongs to one of a few doctrinal families. Using a deterministic pipeline, we pair each ground with its reasons and attach the pair to its family, according to the established French taxonomy. We obtain a descriptive grammar of civil cassation that shows which grounds succeed, which legal texts they refer to, and how both evolve over the decade. We release the dataset, the code and an interactive consultation tool.
1. Introduction
The paper aims to make French civil case law queryable at the level of individual grounds and their answers. It contributes a doctrinally labeled dataset, a reproducible pipeline, and an interactive tool for studying how the Court rules.
1. Introduction
- The Court’s rulings are final, but open publication alone does not make trends in the mass of case law easy to see.The paper also notes increasingly complex laws and civil litigation.Source: §1 · p. 1
- Each ground is a distinct legal complaint answered separately in the Court’s reasons, and each answer has an implicit doctrinal family inferred from its wording.Source: §1 · p. 2
- The paper provides 121,536 ground–reasons pairs from five civil chambers (2016–2025), a deterministic labeling method, and an interactive tool for descriptive analysis.Of the pairs, 117,073 accepted or rejected grounds are attached to a doctrinal family; an article-level layer records legal texts relied on.Source: §1 · p. 2
2. Related Work
Prior computational work commonly predicts a decision’s case-level outcome or structures judgments in other ways, while this paper links each appeal ground to the Court’s response. Its deterministic rules use French doctrinal categories and are positioned against language-model baselines.
2. Related Work
- A single case-level label cannot show that one ruling may reject some grounds and quash others, and the authors report no existing ground-level resource for the Court of Cassation.Existing French domestic resources described here remain at whole-decision or single-issue levels.Source: §2 · p. 2
- Rather than segmenting judgments from scratch, the paper uses Judilibre’s functional zones and links each argument to the passage that answers it.The authors characterize this pairing as a relational form of argument mining, a line revisited with LLMs and few-shot methods.Source: §2 · p. 2
- The system uses explicit rules to assign outcomes to Boré’s doctrinal families, allowing jurists to retrace decisions and disagree on legal terms.The related-work discussion presents rule-based methods as a first pass for clearly patterned legal text and cites the case for interpretability in high-stakes settings.Source: §2 · pp. 2–3
- The resource is built with deterministic rules; fine-tuned models, including JuriBERT, serve as baselines against those rules.JuriBERT is a BERT model pretrained on legal French, including pseudonymized Court of Cassation decisions.Source: §2 · p. 3
3. Background: How the Court of Cassation Writes
The Court of Cassation reviews legal application rather than retrying facts, and its rulings follow a near-fixed structure of grounds and responses. French doctrine classifies the reasons for cassation and rejection into distinct families.
3. Background: How the Court of Cassation Writes
- The Court reviews whether law was properly applied, not the facts; a cassation may quash the whole appealed decision or only part of it.Source: §3 · p. 3
- Rulings follow a near-fixed sequence in which grounds and reasons alternate; since October 2019, reasons use direct-style drafting, and successful grounds usually begin with a visa listing relied-on texts.Source: §3 · p. 3
- A specialized bar drafts appeals as numbered grounds that may split into branches, each presenting a point of law.The avocats aux Conseils hold a monopoly on representation before the Court of Cassation (CPC, art. 973); grounds are filed under CPC, art. 978.Source: §3 · pp. 3–4
- Boré’s doctrinal taxonomy organizes reasons for cassation, but the list is deliberately non-statutory so the Court retains control over its openings.The criminal chamber’s openings, by contrast, are fixed by the Code of Criminal Procedure.Source: §3 · p. 4
- Doctrine distinguishes three rejection situations, with inoperative grounds grouped with inadmissibility in the paper’s reporting.Source: §3 · p. 4
4. Corpus Construction
The corpus uses Judilibre decisions and their functional-zone offsets to build a dataset of appeals decided by the five civil chambers from 2016 to 2025. It excludes other decision types and pseudonymizes residual names before release.
4. Corpus Construction
- The authors retrieved 548,126 Judilibre decisions covering 1947–2026 through PISTE, collecting the data once in May 2026.The source includes procedural metadata and outcome labels as well as ruling text.Source: §4 · p. 4
- Available section offsets mark the starts and ends of functional zones, while the operative part supplies whether a cassation is total or partial.Source: §4 · p. 5
- The study retains 86,464 rulings deciding appeals on points of law from the five civil chambers in 2016–2025, excluding the criminal chamber and non-judgment decisions, petitions, and withdrawals.Residual names are removed before release, and statistics are aggregated by chamber rather than judge because French law prohibits judicial profiling.Source: §4 · p. 5
5. Method
The method pairs each ground with its answering reasons, classifies the pair’s outcome and doctrinal family, and records cited legal articles. Deterministic rules use the Court’s drafting conventions and established doctrinal categories.
5. Method
- Each ground is paired with the block of reasons that answers it; branches are not counted separately.The reasons are the only text the classification rules read.Source: §5 · p. 5
5.1. Pairing Each Ground with the Court’s Reasons
- After aligning grounds and reasons by position, deterministic rules repair mismatches, yielding 121,536 pairs across 86,464 rulings; roughly 32% have no ground text in the ruling.These are mostly rejections; when a ground is absent, the pipeline pairs an empty ground with the reasons block.Source: §5.1 · pp. 5–6
5.2. Classifying the Outcome of Each Ground
- Each pair receives one of six statuses; fixed detectors identify accepted, rejected, consequential-cassation, no-match, out-of-scope, or conflict cases.When both cassation and rejection signals match in a rejection ruling, the pair is classified as rejected; cassation rulings are not forced into a classification when signals conflict.Source: §5.2 · p. 6
5.3. Doctrinal Families: How the Court Quashes, Why It Rejects
- Separate cascades of 149 acceptance patterns and 110 rejection patterns assign doctrinal families, with rejection labels allowing multiple families per ground.The patterns were built from canonical formulas and refined on unmatched cases; the resulting automatic labels form a silver set for validation against hand annotation.Source: §5.3 · p. 6
5.4. From Grounds to Texts: Article-Level Granularity
- A final pass extracts article and code references from the reasons and attaches each reference to its pair’s outcome.Where possible, old Civil Code numbering is mapped to the renumbered articles after the 2016 reform.Source: §5.4 · pp. 6–7
6. Validation
The authors validate structural stages and doctrinal-family labels through audits and comparison with adjudicated annotations. They also test whether models trained on the automatic labels agree with a held-out gold set.
6. Validation
- Annotators were blind to machine labels; two independently labeled 400 grounds for doctrinal families, then jointly adjudicated disagreements.Structural stages were audited by a single annotator.Source: §6 · p. 7
6.1. Sampling Design
- Sampling combined uniform draws for decision-field and pairing audits, targeted draws for error-prone cases, and stratified family samples; aggregate figures were reweighted to corpus distribution.Each family campaign drew 50 grounds uniformly and 150 stratified on each side.Source: §6.1 · p. 7
6.2. Results by Stage
- Reweighted Cohen’s κ is at least 0.96 for all measured families except inadmissibility/inoperativeness, which reaches 0.83; adjudicated gold confirms machine labels on 90.5% of accepted and 91.5% of rejected grounds.Two classes are too rare to measure, and 9 of 10 rejection disagreements involved inadmissibility/inoperativeness.Source: §6.2 · p. 7, Table 6 · p. 8
- Structural audits found one merged pair, while unusual-status precision ranged from 95% for out-of-scope to 100% where a machine label could be confirmed.The no-match pool was roughly half non-merits material and half genuine rule misses.Source: §6.2 · p. 7, Table 4 · p. 8
- Fine-tuned JuriBERT and CamemBERTv2 beat rules on rejected grounds but trail on accepted grounds; zero-shot Qwen3-32B trails the rules.Evaluation used a held-out gold set of 200 rejected and 197 accepted grounds.Source: §6.2 · pp. 7–8, Table 5 · p. 8
- JuriBERT errors cluster on cases where gold and rules disagree, unlike its errors on agreement cases; fine-tuned models trained on silver labels inherit their blind spots.The respective error concentrations are 82% versus 1–4% for JuriBERT, and 18–35% versus 9–12% for the zero-shot LLM.Source: §6.2 · p. 8
7. Results: A Grammar of Civil Cassation
The results describe how civil cassation and rejection resolve, which doctrinal families accepted grounds receive, and how those patterns change over time. They also track the legal articles cited in grounds and reasons.
How appeals on points of law resolve
- Of 86,464 rulings, 32.5% were cassations; cassation rates span 31–36% by chamber, but total cassations dominate only in the second civil chamber (58%).Cassations were more often partial than total (59.8%), and 38.8% of cassation rulings included both accepted and rejected grounds.Source: §7 · p. 8, Figure 2 · p. 9
The grammar of cassation
- Violation of the law (56.9%) and lack of legal basis (23.2%) together account for 80.1% of accepted grounds; the remaining family distribution has a long tail.A doctrinal family is attached to 97.9% of cassation rulings; omission and contrariety of judgments are absent or nearly absent in practice.Source: §7 · p. 8, Table 7 · p. 9, Table 8 · p. 9
The grammar of rejection
- Rejection families are multi-label: summary rejection covers 61.9% of rejected grounds, merits dismissal 38.4%, and inadmissibility or inoperativeness 6.2%.The shares overlap and do not add up to one; 99.6% of rejection rulings have at least one associated rejection mechanism.Source: §7 · p. 9
Movement over the decade
- From 2016 to 2024, partial cassations rose from 53.6% to 66.5%, while summary rejection’s share of rejected grounds rose from 46.4% to 73.1%.The cassation rate stayed around a third; the number of rulings fell over the same period, and the Court stated in 2020 that it reserves reasoned rejections for cases with normative value.Source: §7 · p. 9, Figure 3 · p. 10
Which texts the Court mobilizes
- At least one article resolvable to a code appears in the reasons of 74.2% of pairs, and summary-rejection blocks almost always cite article 1014 CPC.The article layer distinguishes citations in the visa from those in the body of the reasons, and Table 9 presents three contrasting article profiles.Source: §7 · pp. 9–10, Table 9 · p. 10
8. Limitations and Conclusion
The paper’s doctrinal-family counts are constrained by canonical-wording rules and source coverage. It concludes with a queryable dataset for the five civil chambers and identifies adaptation to the criminal chamber as future work.
Limitations and perspectives
- Canonical-wording rules miss unusual phrasing, making specific doctrinal-family counts lower bounds; residual violation-of-the-law labels may absorb cases from other families.Summary rejections do not state why a ground failed, and Judilibre zoning sometimes merges multiple grounds into one.Source: §8 · p. 10
Conclusion
- The released resource contains 121,536 ground–reasons pairs, with 117,073 attached to doctrinal families, and covers the Court’s five civil chambers.Future work includes rewriting the grids for the criminal chamber, whose taxonomy is specific to French civil law.Source: §8 · p. 10