Files
code-crispies/.wave/contracts/scope-plan.schema.json

74 lines
1.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Epic Scope Plan and Results",
"description": "Schema for epic decomposition plan with created sub-issues",
"type": "object",
"required": ["parent_issue", "created_issues", "total_created"],
"properties": {
"parent_issue": {
"type": "object",
"required": ["number", "url", "repository"],
"properties": {
"number": {
"type": "integer",
"minimum": 1
},
"url": {
"type": "string",
"format": "uri"
},
"repository": {
"type": "string",
"pattern": "^[^/]+/[^/]+$"
}
}
},
"created_issues": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["number", "title", "url", "success"],
"properties": {
"number": {
"type": "integer",
"minimum": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"labels": {
"type": "array",
"items": { "type": "string" }
},
"success": {
"type": "boolean"
},
"complexity": {
"type": "string",
"enum": ["S", "M", "L", "XL"]
},
"dependencies": {
"type": "array",
"items": { "type": "string" },
"description": "Titles or numbers of issues this depends on"
}
}
}
},
"total_created": {
"type": "integer",
"minimum": 0
},
"total_failed": {
"type": "integer",
"minimum": 0
}
}
}