forked from fa/breadcrumb-the-shire
98 lines
2.6 KiB
JSON
98 lines
2.6 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Executor Output",
|
|
"type": "object",
|
|
"required": [
|
|
"task_id",
|
|
"plan_ref",
|
|
"status",
|
|
"changed_files",
|
|
"guard_evidence",
|
|
"commands",
|
|
"quality_gate_results",
|
|
"test_results",
|
|
"open_items"
|
|
],
|
|
"properties": {
|
|
"task_id": { "type": "string", "minLength": 1 },
|
|
"plan_ref": { "type": "string", "minLength": 1 },
|
|
"status": { "type": "string", "enum": ["done", "blocked"] },
|
|
"changed_files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["path", "summary"],
|
|
"properties": {
|
|
"path": { "type": "string", "minLength": 1 },
|
|
"summary": { "type": "string", "minLength": 1 }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"guard_evidence": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["guard_id", "status", "evidence"],
|
|
"properties": {
|
|
"guard_id": {
|
|
"type": "string",
|
|
"pattern": "^GR-[A-Z]+-[0-9]{3}$"
|
|
},
|
|
"status": { "type": "string", "enum": ["pass", "fail", "n/a"] },
|
|
"evidence": { "type": "string", "minLength": 1 }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"commands": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["cmd", "result"],
|
|
"properties": {
|
|
"cmd": { "type": "string", "minLength": 1 },
|
|
"result": { "type": "string", "enum": ["pass", "fail", "skipped"] }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"quality_gate_results": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["gate_id", "result"],
|
|
"properties": {
|
|
"gate_id": {
|
|
"type": "string",
|
|
"pattern": "^QG-[0-9]{3}$"
|
|
},
|
|
"result": { "type": "string", "enum": ["pass", "fail", "skipped"] },
|
|
"notes": { "type": "string" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"test_results": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name", "result"],
|
|
"properties": {
|
|
"name": { "type": "string", "minLength": 1 },
|
|
"result": { "type": "string", "enum": ["pass", "fail", "skipped"] },
|
|
"notes": { "type": "string" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"open_items": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|