Files
code-crispies/.wave/contracts/ontology-evolution.schema.json

39 lines
1.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Ontology Evolution",
"description": "Categorized ontology changes with effort and risk assessment",
"type": "object",
"required": ["base_version", "changes", "summary"],
"properties": {
"base_version": {
"type": "string",
"description": "Reference to the base ontology being evolved"
},
"changes": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "category", "description", "effort", "risk"],
"properties": {
"id": { "type": "string", "pattern": "^EVO-[0-9]+$" },
"category": { "type": "string", "enum": ["add_entity", "modify_entity", "remove_entity", "add_relationship", "modify_relationship", "remove_relationship", "add_invariant", "modify_boundary"] },
"description": { "type": "string" },
"effort": { "type": "string", "enum": ["trivial", "small", "medium", "large", "epic"] },
"risk": { "type": "string", "enum": ["low", "medium", "high", "critical"] },
"rationale": { "type": "string" },
"affected_entities": { "type": "array", "items": { "type": "string" } }
}
}
},
"summary": {
"type": "object",
"required": ["total_changes", "breaking_changes"],
"properties": {
"total_changes": { "type": "integer", "minimum": 0 },
"breaking_changes": { "type": "integer", "minimum": 0 },
"estimated_effort": { "type": "string" }
}
}
}
}