{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://scient.ing/ns/schemas/stages.schema.json", "title": "Stage requirements", "description": "scienting-stages/1: the uses each stage needs; configuration, not code; spec/14-rights.md.", "type": "object", "properties": { "format": { "const": "scienting-stages/1" }, "id": { "$ref": "common.schema.json#/$defs/key" }, "note": { "type": "string", "minLength": 1 }, "stages": { "type": "object", "minProperties": 1, "propertyNames": { "$ref": "common.schema.json#/$defs/key" }, "additionalProperties": { "type": "object", "properties": { "uses": { "type": "array", "items": { "enum": [ "read", "tdm", "redistribute", "quote-public", "accessible-copy" ] }, "uniqueItems": true }, "ai": { "type": "object", "properties": { "purpose": { "enum": [ "internal", "external" ] }, "processors": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/processor" }, "minItems": 1, "uniqueItems": true } }, "required": [ "purpose" ], "additionalProperties": false }, "note": { "type": "string", "minLength": 1 } }, "required": [ "uses" ], "additionalProperties": false } } }, "required": [ "format", "id", "stages" ], "additionalProperties": false }