{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "kb://schemas/component.schema.json", "title": "Mechanical component knowledge entry", "type": "object", "required": ["schema_version", "id", "version", "kind", "parameters", "ports", "capability_refs", "maturity"], "properties": { "schema_version": {"const": "1.0"}, "id": {"type": "string", "pattern": "^component\\."}, "version": {"type": "string"}, "kind": {"type": "string"}, "virtual": {"type": "boolean", "default": false}, "roles": {"type": "array", "items": {"type": "string"}, "uniqueItems": true}, "parameters": {"type": "object"}, "ports": { "type": "array", "items": { "type": "object", "required": ["id", "type"], "properties": { "id": {"type": "string"}, "type": {"type": "string"}, "multiplicity": {"type": "string", "enum": ["one", "many"]} }, "additionalProperties": false } }, "capability_refs": {"type": "array", "items": {"type": "string"}, "uniqueItems": true}, "applicability": {"type": "object"}, "maturity": {"type": "string"} }, "additionalProperties": false }