{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"description": "Schema for documenting and validating section constraints",
	"type": "object",
	"properties": {
		"allowedBlocks": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/blockName"
			},
			"minItems": 1
		},
		"defaultBlocks": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/blockName"
			}
		},
		"allowedBlockGroups": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/blockGroup"
			}
		},
		"min": {
			"type": "number",
			"minimum": 1,
			"maximum": { "$data": "1/max" }
		},
		"max": {
			"type": "number",
			"minimum": { "$data": "1/min" },
			"maximum": 1000
		},
		"size": {
			"type": "number",
			"minimum": 1,
			"maximum": 1000
		},
		"optional": {
			"type": "boolean"
		}
	},
	"definitions": {
		"blockName": {
			"type": "string",
			"pattern": "^[a-z]+(?:-[a-z]+)*-v\\d+$"
		},
		"blockGroup": {
			"type": "string",
			"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
		}
	}
}
Add a JSON schema for our section constraint definition in order to document and validate it (putting it in the test folder for now under "schemas").
Add a JSON schema for our section constraint definition in order to document and validate it (putting it in the test folder for now under "schemas").

The section constraints will need moving into a larger region definition schema at some point.
The plan is to have a bunch of these and a simple command that checks through all definition files to makes sure they're valid.
