Also fixes run lists and scores mixing runs of different packs in one repository. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
37 lines
1.2 KiB
JSON
37 lines
1.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://runbook-tutorials.invalid/schema/attribute-set/v0.1",
|
|
"title": "Attribute set",
|
|
"type": "object",
|
|
"required": ["spec", "id", "title", "attributes"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"spec": {"const": "attribute-set/v0.1"},
|
|
"id": {"type": "string", "pattern": "^[a-z0-9]+([.-][a-z0-9]+)*$"},
|
|
"title": {"type": "string", "minLength": 3},
|
|
"extends": {"type": "array", "items": {"type": "string"}, "description": "Composed first; later entries and this set's own attributes override."},
|
|
"attributes": {"$ref": "#/$defs/attributes"}
|
|
},
|
|
"$defs": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"propertyNames": {"pattern": "^[a-z][a-z0-9_]*$"},
|
|
"additionalProperties": {"$ref": "#/$defs/attribute"}
|
|
},
|
|
"attribute": {
|
|
"oneOf": [
|
|
{"type": ["string", "integer", "boolean"]},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"value": {"type": ["string", "integer", "boolean"]},
|
|
"requirement": {"enum": ["required", "optional"]},
|
|
"note": {"type": "string"}
|
|
},
|
|
"minProperties": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|