{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://eightarms.net/octopus-workflow/schemas/synthesis.schema.json", "title": "Synthesis Output", "description": "Schema for the orchestrator's synthesis of all reviewer outputs for a single round.", "type": "object", "required": ["round", "overall_verdict", "dimensions", "aggregated_stats", "top_findings"], "properties": { "round": { "type": "integer", "minimum": 1 }, "overall_verdict": { "type": "string", "enum": ["PASS", "WARN", "FAIL"], "description": "PASS: all dimensions PASS. WARN: no BLOCKER, no dimension FAIL. FAIL: otherwise." }, "dimensions": { "type": "object", "additionalProperties": { "type": "object", "required": ["verdict", "pass_rate", "blocker_count", "major_count", "minor_count", "info_count"], "properties": { "verdict": { "type": "string", "enum": ["PASS", "WARN", "FAIL", "UNRESOLVED"] }, "pass_rate": { "type": "number" }, "blocker_count": { "type": "integer" }, "major_count": { "type": "integer" }, "minor_count": { "type": "integer" }, "info_count": { "type": "integer" } } } }, "aggregated_stats": { "type": "object", "required": [ "total_dimensions", "passed_dimensions", "warn_dimensions", "failed_dimensions", "total_findings", "blockers", "majors", "minors", "infos" ], "properties": { "total_dimensions": { "type": "integer" }, "passed_dimensions": { "type": "integer" }, "warn_dimensions": { "type": "integer" }, "failed_dimensions": { "type": "integer" }, "total_findings": { "type": "integer" }, "blockers": { "type": "integer" }, "majors": { "type": "integer" }, "minors": { "type": "integer" }, "infos": { "type": "integer" }, "unresolved_dimensions": { "type": "integer", "minimum": 0, "description": "Count of dimensions marked UNRESOLVED (auditor crash/timeout) and excluded from aggregation" } } }, "top_findings": { "type": "array", "items": { "type": "object", "required": ["id", "dimension", "severity", "checklist_ref", "summary"], "properties": { "id": { "type": "string", "pattern": "^[A-Z0-9]+-F\\d{3,}$", "description": "The source reviewer finding id (from the Tier 1 findings file; slot-prefixed for multi-slot dimensions), so each synthesized headline traces back to its raw finding." }, "dimension": { "type": "string" }, "severity": { "type": "string", "enum": ["BLOCKER", "MAJOR", "MINOR", "INFO"] }, "checklist_ref": { "type": "string" }, "summary": { "type": "string" } } } } } }