{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Interface Design", "description": "Go interface definitions derived from ontology entities", "type": "object", "required": ["package_name", "interfaces"], "properties": { "package_name": { "type": "string" }, "interfaces": { "type": "array", "items": { "type": "object", "required": ["name", "description", "methods"], "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "source_entity": { "type": "string" }, "methods": { "type": "array", "items": { "type": "object", "required": ["name", "signature"], "properties": { "name": { "type": "string" }, "signature": { "type": "string" }, "description": { "type": "string" } } } } } } } } }