First implementation (#1)
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
1 parent
34c0abb26a
commit
4fa326dc76
534 files changed
+28280
-37
No files matched your search
@@ -0,0 +1,376 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://paperspec.scient.ing/schemas/correction.schema.json",
|
||||
"title": "Correction",
|
||||
"description": "scienting-correction/1: a line of corrections.jsonl, or a proposal; spec/11-corrections.md.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"format": {
|
||||
"const": "scienting-correction/1"
|
||||
},
|
||||
"index": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"id": {
|
||||
"$ref": "common.schema.json#/$defs/recordId"
|
||||
},
|
||||
"op": {
|
||||
"enum": [
|
||||
"replace",
|
||||
"insert",
|
||||
"delete",
|
||||
"split",
|
||||
"merge",
|
||||
"move",
|
||||
"reclassify",
|
||||
"relabel",
|
||||
"set"
|
||||
]
|
||||
},
|
||||
"target": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"find": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"replace": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"$ref": "runs.schema.json"
|
||||
}
|
||||
]
|
||||
},
|
||||
"run": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"offset": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"text": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"parent": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"node": {
|
||||
"type": "object",
|
||||
"description": "A node subtree to insert: kind, label, attrs, content and children; equation runs name a child by position."
|
||||
},
|
||||
"with": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"joiner": {
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"$ref": "common.schema.json#/$defs/nodeKind"
|
||||
},
|
||||
"label": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"attr": {
|
||||
"enum": [
|
||||
"level",
|
||||
"columns",
|
||||
"column",
|
||||
"rowspan",
|
||||
"colspan",
|
||||
"role",
|
||||
"header_path",
|
||||
"ordered",
|
||||
"marker",
|
||||
"variant"
|
||||
]
|
||||
},
|
||||
"value": {},
|
||||
"evidence": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/evidence"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"author": {
|
||||
"$ref": "common.schema.json#/$defs/author"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"at": {
|
||||
"$ref": "common.schema.json#/$defs/time"
|
||||
},
|
||||
"before": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "common.schema.json#/$defs/hash"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"to_path": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
}
|
||||
},
|
||||
"touched": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"uniqueItems": true
|
||||
},
|
||||
"created": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"retired": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"from": {},
|
||||
"status": {
|
||||
"enum": [
|
||||
"proposed"
|
||||
]
|
||||
},
|
||||
"after": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "common.schema.json#/$defs/hash"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"place_after": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "common.schema.json#/$defs/nodeId"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"format",
|
||||
"op",
|
||||
"evidence",
|
||||
"author",
|
||||
"reason",
|
||||
"at"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "replace"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"find",
|
||||
"replace"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "delete"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "split"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"offset"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "merge"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"with"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "move"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"parent"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "reclassify"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"kind"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "relabel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"label"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "set"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"target",
|
||||
"attr",
|
||||
"value"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"op": {
|
||||
"const": "insert"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"parent",
|
||||
"node"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"target",
|
||||
"run",
|
||||
"offset",
|
||||
"text"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"required": [
|
||||
"index"
|
||||
]
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"id",
|
||||
"before",
|
||||
"after",
|
||||
"path",
|
||||
"touched"
|
||||
]
|
||||
},
|
||||
"else": {
|
||||
"required": [
|
||||
"status"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user