removedInput schema / properties / chamber
Removed value: -{
- "anyOf": [
- {
- "items": {
- "maxLength": 60,
- "type": "string"
- },
- "maxItems": 10,
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Restrict to one or more chambers, as a composite key \"<court>|<chamber>\" where <court> is a jurisdiction_code (e.g. \"ca_paris|C3\", \"cc|C2\", \"cc|SOCIALE\"). The court prefix is required: a chamber key names a different chamber in each court, \"C1\" alone existing in about 200 of them. The chamber part is slots joined by a dot, in the order they render: tag P (pôle), SC (section holding chambers), C (chambre), S (section), L (lettered section), Q (sous-sections réunies) or R (chambres réunies), then its number or letter. So \"P5.C6\" is pôle 5, 6e chambre, \"C5.LA\" section A of the 5th, \"CD\" chambre D, \"R3-8\" chambres 3/8 réunies (numbers in a reunited list always ascending). A chamber that no coordinate positions is keyed by what it judges instead (\"cc|SOCIALE\", \"cc|CRIMINELLE\"). facets.chamber lists the pairs present, and only once jurisdiction_code narrows the search to one or more courts."
-}
changedInput schema / properties / jurisdiction_code / description
Previous value: -"Restrict to one or more precise court units by referential code. Code shapes: \"cc\" (Cour de cassation), \"ce\" (Conseil d'État), \"cnda\", \"cedh\", \"cjue\"; \"ca_<city>\", \"caa_<city>\", \"ta_<city>\", \"tj_<city>\", \"tcom_<city>\" (e.g. \"ca_paris\", \"ta_marseille\", \"tj_paris\", \"tcom_lyon\"). When unsure, guess with the city name in the code: the error names the nearest valid ones. Each code is a court; the chamber inside it is a separate filter (see chamber); use jurisdiction_type for the broad category."New value: +"Restrict to one or more precise court units by referential code. Code shapes: \"cc\" (Cour de cassation), \"ce\" (Conseil d'État), \"cnda\", \"cedh\", \"cjue\"; \"ca_<city>\", \"caa_<city>\", \"ta_<city>\", \"tj_<city>\", \"tcom_<city>\" (e.g. \"ca_paris\", \"ta_marseille\", \"tj_paris\", \"tcom_lyon\"). When unsure, guess with the city name in the code: the error names the nearest valid ones. Each code is a court; a room inside it is reached with seat, which also expresses this filter as a path."
changedInput schema / properties / mode / description
Previous value: -"'auto' is the right choice in almost all cases, it picks the regime from the query shape. auto: combines meaning and keyword matching on plain queries; switches to keyword-only when the query contains ET / OU / SAUF or quoted phrases. lexical: force keyword-only matching. Every term becomes required and nothing recovers a miss, so it fits a string you expect word for word (a consecrated formula, the direction of a holding, a party named in the text) and an empty answer is then an answer. Never for a docket number or a decision name, which auto resolves by exact key. semantic: force the meaning+keyword hybrid even on quoted or operator queries (where auto would fall back to keyword-only). Naming a mode, like adding ET / OU / SAUF, also keeps a docket number inside an ordinary query instead of resolving it alone."New value: +"'auto' is the right choice in almost all cases, it picks the regime from the query shape. auto: combines meaning and keyword matching on plain queries; switches to keyword-only when the query contains ET / OU / SAUF or quoted phrases. lexical: force keyword-only matching. Every term becomes required and nothing recovers a miss, so it fits a string you expect word for word (a consecrated formula, the direction of a holding, a party named in the text) and an empty answer is then an answer. semantic: force the meaning+keyword hybrid even on quoted or operator queries (where auto would fall back to keyword-only)."
changedInput schema / properties / publication / anyOf
Previous value: -[
- {
- "items": {
- "enum": [
- "PUBLIE_BULLETIN",
- "PUBLIE_RAPPORT",
- "LETTRE_CHAMBRE",
- "COMMUNIQUE",
- "INEDIT_BULLETIN",
- "PUBLIE_LEBON",
- "MENTIONNE_LEBON",
- "INEDIT_LEBON"
- ],
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "items": {
+ "enum": [
+ "PUBLIE_RAPPORT",
+ "PUBLIE_BULLETIN",
+ "LETTRE_CHAMBRE",
+ "COMMUNIQUE",
+ "INEDIT_BULLETIN",
+ "PUBLIE_LEBON",
+ "MENTIONNE_LEBON",
+ "INEDIT_LEBON"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / publication / description
Previous value: -"Filter by publication, at the grain the Cour de cassation itself uses (any-of, membership is multiple: a decision matches every value whose code it carries). Judicial order: PUBLIE_BULLETIN, PUBLIE_RAPPORT (annual report, the strongest signal), LETTRE_CHAMBRE, COMMUNIQUE, INEDIT_BULLETIN. Administrative order: PUBLIE_LEBON, MENTIONNE_LEBON, INEDIT_LEBON. Lower courts carry no publication statement and match no value."New value: +"Filter by publication, at the grain the Cour de cassation itself uses (any-of, membership is multiple: a decision matches every value whose code it carries). Judicial order: PUBLIE_RAPPORT (annual report, the strongest signal), PUBLIE_BULLETIN, LETTRE_CHAMBRE, COMMUNIQUE, INEDIT_BULLETIN. Administrative order: PUBLIE_LEBON, MENTIONNE_LEBON, INEDIT_LEBON. Lower courts carry no publication statement and match no value."
changedInput schema / properties / query / description
Previous value: -"French query, the primary input. Two regimes, pick the right tool for the job: (a) Natural language or descriptive keywords for legal-issue searches; the engine handles synonyms and reformulations. Examples: « responsabilité hôpital infection nosocomiale » ; « étranger malade soins inaccessibles dans son pays d'origine » ; « licenciement discrimination syndicale charge de la preuve ». (b) Quoted exact phrases and ET / OU / SAUF operators for a named entity (company, municipality, person), a precise legal formula, or the direction of a holding: semantic matching ignores negations (« n'est pas X » ranks like « est X »), and only an exact phrase targets which way the court ruled. Examples: « \"Société Générale\" » ; « \"commune de Saint-Denis\" SAUF Réunion » ; « \"force majeure\" ET épidémie ». Using operators or quotes switches the engine to keyword-only matching for the whole query (no synonyms), so do not mix the two regimes: a quoted phrase followed by free words requires every one of them in the same decision. (c) A docket number or a decision name takes neither quotes nor operators: « 21PA01295 », « n° 19-20.682 », « arrêt Danthony » are matched by an exact key, whatever the spelling, and quoting them only costs the recovery that catches a miss."New value: +"French query, the primary input. Two regimes, pick the right tool for the job: (a) Natural language or descriptive keywords for legal-issue searches; the engine handles synonyms and reformulations. Examples: « responsabilité hôpital infection nosocomiale » ; « étranger malade soins inaccessibles dans son pays d'origine » ; « licenciement discrimination syndicale charge de la preuve ». (b) Quoted exact phrases and ET / OU / SAUF operators for a named entity (company, municipality, person), a precise legal formula, or the direction of a holding: semantic matching ignores negations (« n'est pas X » ranks like « est X »), and only an exact phrase targets which way the court ruled. Examples: « \"Société Générale\" » ; « \"commune de Saint-Denis\" SAUF Réunion » ; « \"force majeure\" ET épidémie ». Using operators or quotes switches the engine to keyword-only matching for the whole query (no synonyms), so do not mix the two regimes."
addedInput schema / properties / seat
Added value: +{
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 60,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Restrict to one or more seats, as a dotted path from the court type down to the room: \"CC\", \"CC.SOCIALE\", \"CA.PARIS\", \"CA.PARIS.P5.C3\". A path matches itself and everything below it, so this one filter also covers what jurisdiction_type and jurisdiction_code express. Take the paths from facets.seat."
+}
removedOutput schema / properties / facets / description
Removed value: -"Per filter name, a map of filter value to decision count under the current query (jurisdiction_type, jurisdiction_code, chamber, office, legal_domain, solution, procedure, publication, date_lecture_year, legal_instrument). Reuse keys verbatim as filter values. jurisdiction_code is capped to the top 15 courts (other_courts counts the rest) and legal_instrument to the top 10 statutes. chamber appears only under a jurisdiction_code filter, and then lists every formation of the selected courts."
removedOutput schema / properties / filterRewritten / description
Removed value: -"A filter of the call was retired and rewritten: what was asked, what was searched, and the filter to use instead. The hits answer the rewritten call."
removedOutput schema / properties / hits / items / description
Removed value: -"Metadata fields carry search_decisions filter tokens: each field matches the filter of the same name (jurisdictionType → jurisdiction_type, legalDomain → legal_domain…) and its value passes back verbatim to filter."
removedOutput schema / properties / hits / items / properties / aiSummary / description
Removed value: -"AI-written summary of what the decision is about (semantic search), a machine paraphrase, NEVER the court's words: nothing in it is quotable. Exactly one of aiSummary/snippet is served per hit."
removedOutput schema / properties / hits / items / properties / chamber
Removed value: -{
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Chamber that heard the case, as \"<court>|<chamber>\", reusable verbatim as the chamber filter."
-}
removedOutput schema / properties / hits / items / properties / officialUrl / description
Removed value: -"The decision on its official publisher: legifrance.gouv.fr, courdecassation.fr, opendata.justice-administrative.fr, conseil-constitutionnel.fr, hudoc, eur-lex. Cite this when the deliverable requires the authoritative source; `url` is the LibreJustice page. Absent when the publisher exposes no per-decision permalink."
removedOutput schema / properties / hits / items / properties / publication / description
Removed value: -"Publication values carried, reusable verbatim as the publication filter."
addedOutput schema / properties / hits / items / properties / seat
Added value: +{
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+}
removedOutput schema / properties / hits / items / properties / snippet / description
Removed value: -"Verbatim passage of the decision text where the query terms matched (keyword search). Exactly one of aiSummary/snippet is served per hit."
addedOutput schema / properties / pinned
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
removedOutput schema / properties / total / description
Removed value: -"Decisions matched under the current filters, the whole set and not the served window: `hits` is one page of it, and `facets` counts that same set. Keyword matching is an OR bag over the query tokens, so a long query matches a large share of the corpus: narrow with filters (court, dates, chamber) rather than with more words for the number to count something."