16 lines
1.3 KiB
JSON
16 lines
1.3 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"required": ["parent-workflow-id", "product-decision-id", "blueprint-ref", "blueprint-sha256", "screens", "validation", "art-direction-deferred"],
|
|
"properties": {
|
|
"parent-workflow-id": {"type": "string", "minLength": 1},
|
|
"product-decision-id": {"type": "string", "minLength": 1},
|
|
"blueprint-ref": {"type": "string", "minLength": 1},
|
|
"blueprint-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"screens": {"type": "array", "minItems": 1, "items": {"type": "object", "required": ["id", "purpose", "primary-action", "content-priority", "desktop", "mobile", "states"], "properties": {"id": {"type": "string", "minLength": 1}, "purpose": {"type": "string", "minLength": 1}, "primary-action": {"type": "string", "minLength": 1}, "content-priority": {"type": "array", "minItems": 1}, "desktop": {"type": "object", "minProperties": 1}, "mobile": {"type": "object", "minProperties": 1}, "states": {"type": "array", "minItems": 1}}}},
|
|
"validation": {"type": "object", "required": ["information-scent", "task-completion", "cognitive-load", "responsive-hierarchy"]},
|
|
"art-direction-deferred": {"const": true}
|
|
},
|
|
"not": {"anyOf": [{"required": ["color-palette"]}, {"required": ["typography"]}, {"required": ["shadows"]}, {"required": ["visual-metaphor"]}]}
|
|
}
|