removedInput schema / properties / cursor / anyOf
Removed value: -[
- {
- "type": "string"
- },
- {
- "type": "null"
- }
-]
addedInput schema / properties / cursor / type
Added value: +[
+ "string",
+ "null"
+]
changedInput schema / properties / from_locator / anyOf
Previous value: -[
- {
- "properties": {
- "annex": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Annex number, roman or arabic (\"I\", \"1\"); omit for an instrument whose single annex is unnumbered."
- },
- "article": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Article number as printed: \"97\", \"45a\", \"69-a\"."
- },
- "kind": {
- "description": "Which kind of provision the locator names.",
- "enum": [
- "article",
- "annex",
- "recital"
- ],
- "type": "string"
- },
- "paragraph": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Numbered paragraph within the article, e.g. \"2\"."
- },
- "point": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Lettered point within the paragraph, e.g. \"b\"."
- },
- "recital": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Recital number, e.g. \"95\"."
- },
- "subpoint": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Sub-point within the point."
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "annex": {
+ "description": "Annex number, roman or arabic (\"I\", \"1\"); omit for an instrument whose single annex is unnumbered.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "article": {
+ "description": "Article number as printed: \"97\", \"45a\", \"69-a\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "description": "Which kind of provision the locator names.",
+ "enum": [
+ "article",
+ "annex",
+ "recital"
+ ],
+ "type": "string"
+ },
+ "paragraph": {
+ "description": "Numbered paragraph within the article, e.g. \"2\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "point": {
+ "description": "Lettered point within the paragraph, e.g. \"b\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "recital": {
+ "description": "Recital number, e.g. \"95\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "subpoint": {
+ "description": "Sub-point within the point.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / properties / to_locator / anyOf
Previous value: -[
- {
- "properties": {
- "annex": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Annex number, roman or arabic (\"I\", \"1\"); omit for an instrument whose single annex is unnumbered."
- },
- "article": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Article number as printed: \"97\", \"45a\", \"69-a\"."
- },
- "kind": {
- "description": "Which kind of provision the locator names.",
- "enum": [
- "article",
- "annex",
- "recital"
- ],
- "type": "string"
- },
- "paragraph": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Numbered paragraph within the article, e.g. \"2\"."
- },
- "point": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Lettered point within the paragraph, e.g. \"b\"."
- },
- "recital": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Recital number, e.g. \"95\"."
- },
- "subpoint": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Sub-point within the point."
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "annex": {
+ "description": "Annex number, roman or arabic (\"I\", \"1\"); omit for an instrument whose single annex is unnumbered.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "article": {
+ "description": "Article number as printed: \"97\", \"45a\", \"69-a\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "description": "Which kind of provision the locator names.",
+ "enum": [
+ "article",
+ "annex",
+ "recital"
+ ],
+ "type": "string"
+ },
+ "paragraph": {
+ "description": "Numbered paragraph within the article, e.g. \"2\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "point": {
+ "description": "Lettered point within the paragraph, e.g. \"b\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "recital": {
+ "description": "Recital number, e.g. \"95\".",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "subpoint": {
+ "description": "Sub-point within the point.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / data / anyOf
Previous value: -[
- {
- "additionalProperties": {},
- "properties": {
- "article": {
- "type": "string"
- },
- "changes": {
- "anyOf": [
- {
- "items": {
- "additionalProperties": {},
- "properties": {
- "type": {
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "description": "What KIND of change this comparison evidences, read off the same artefact as pairs[]. Types: paragraph_added, paragraph_deleted, paragraph_amended (with words_changed, counting both sides of a substitution), figure_changed (with from/to quoting the served text), heading_changed, the article_* counterparts of the first three for an article's text outside any numbered paragraph, and none_detected where nothing was found — never an empty list. An entry carries `paragraph` and, where the served text settles it, `point` and `subpoint`, in the §7 locator model's own field names; an article_* entry carries none of them. Those components are a CITATION, not a promise of retrieval: a sub-point is often not a block get_provision serves, so open an entry at the enclosing point, and then the paragraph, which does serve the text the entry quotes. A roman sub-point is always qualified by its letter point (PSR Art 97(2)(a)(ii), never (ii) alone), and a list the text does not settle is left unlocated. ARTICLE-SCOPED, not page-scoped: the whole inventory travels with every page of pairs[], so a client paging through must not concatenate it. Repeated identical entries are repeated occurrences in one paragraph, not duplicates. Null means this release predates the inventory, which is not the same as none_detected."
- },
- "cite": {
- "type": "string"
- },
- "classification_note": {
- "type": "string"
- },
- "direction": {
- "type": "string"
- },
- "editorial_review_state": {
- "type": "string"
- },
- "from": {
- "additionalProperties": {},
- "properties": {
- "version_id": {
- "type": "string"
- }
- },
- "required": [
- "version_id"
- ],
- "type": "object"
- },
- "instrument_id": {
- "type": "string"
- },
- "pairs": {
- "items": {
- "additionalProperties": {},
- "properties": {
- "ops": {
- "items": {
- "prefixItems": [
- {
- "type": "string"
- },
- {
- "type": "string"
- }
- ],
- "type": "array"
- },
- "type": "array"
- }
- },
- "required": [
- "ops"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "status": {
- "type": "string"
- },
- "to": {
- "additionalProperties": {},
- "properties": {
- "version_id": {
- "type": "string"
- }
- },
- "required": [
- "version_id"
- ],
- "type": "object"
- }
- },
- "required": [
- "instrument_id",
- "article",
- "cite",
- "from",
- "to",
- "status",
- "direction",
- "editorial_review_state",
- "classification_note",
- "changes",
- "pairs"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": {},
+ "properties": {
+ "article": {
+ "type": "string"
+ },
+ "changes": {
+ "anyOf": [
+ {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "What KIND of change this comparison evidences, read off the same artefact as pairs[]. Types: paragraph_added, paragraph_deleted, paragraph_amended (with words_changed, counting both sides of a substitution), figure_changed (with from/to quoting the served text), heading_changed, the article_* counterparts of the first three for an article's text outside any numbered paragraph, and none_detected where nothing was found — never an empty list. An entry carries `paragraph` and, where the served text settles it, `point` and `subpoint`, in the §7 locator model's own field names; an article_* entry carries none of them. Those components are a CITATION, not a promise of retrieval: a sub-point is often not a block get_provision serves, so open an entry at the enclosing point, and then the paragraph, which does serve the text the entry quotes. A roman sub-point is always qualified by its letter point (PSR Art 97(2)(a)(ii), never (ii) alone), and a list the text does not settle is left unlocated. ARTICLE-SCOPED, not page-scoped: the whole inventory travels with every page of pairs[], so a client paging through must not concatenate it. Repeated identical entries are repeated occurrences in one paragraph, not duplicates. Null means this release predates the inventory, which is not the same as none_detected."
+ },
+ "cite": {
+ "type": "string"
+ },
+ "classification_note": {
+ "type": "string"
+ },
+ "direction": {
+ "type": "string"
+ },
+ "editorial_review_state": {
+ "type": "string"
+ },
+ "from": {
+ "additionalProperties": {},
+ "properties": {
+ "version_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "version_id"
+ ],
+ "type": "object"
+ },
+ "instrument_id": {
+ "type": "string"
+ },
+ "pairs": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "ops": {
+ "items": {
+ "items": false,
+ "maxItems": 2,
+ "minItems": 2,
+ "prefixItems": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "type": "array"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ops"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "status": {
+ "type": "string"
+ },
+ "to": {
+ "additionalProperties": {},
+ "properties": {
+ "version_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "version_id"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "instrument_id",
+ "article",
+ "cite",
+ "from",
+ "to",
+ "status",
+ "direction",
+ "editorial_review_state",
+ "classification_note",
+ "changes",
+ "pairs"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
changedOutput schema / properties / pagination / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "complete": {
- "type": "boolean"
- },
- "next_cursor": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "total": {
- "type": "number"
- }
- },
- "required": [
- "complete",
- "next_cursor"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "complete": {
+ "type": "boolean"
+ },
+ "next_cursor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "total": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "complete",
+ "next_cursor"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]