{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "common/final-report@1", "title": "Devflow Final Report", "type": "object", "required": [ "runId", "templateHash", "bindings", "inputs", "phases", "approvals", "findings", "commands", "artifacts", "events", "unresolved", "endedAt", "status" ], "properties": { "runId": { "type": "string", "format": "uuid" }, "templateHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "bindings": { "type": "array", "items": { "type": "object", "required": ["roleId", "personaHash", "backend"], "properties": { "roleId": { "type": "string", "minLength": 1 }, "personaHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "backend": { "type": "string", "enum": ["codex", "claude", "fake"] } } } }, "inputs": { "type": "object" }, "phases": { "type": "array" }, "approvals": { "type": "array" }, "findings": { "type": "array" }, "commands": { "type": "array", "items": { "type": "object", "required": ["kind", "argv", "exit_code"], "properties": { "kind": { "type": "string", "minLength": 1 }, "argv": { "type": "array", "items": { "type": "string" } }, "exit_code": { "type": ["integer", "null"] } } } }, "artifacts": { "type": "array" }, "events": { "type": "object", "required": ["tail"], "properties": { "tail": { "type": "array", "maxItems": 200 } } }, "unresolved": { "type": "array" }, "endedAt": { "type": "string", "format": "utc-date-time" }, "status": { "type": "string", "enum": ["completed", "failed", "aborted"] } } }