{ "$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-(CORE|TEST|UI|SEC)-[A-Z0-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 }