Files
octopus-workflow/core/schemas/synthesis.schema.json
T

80 lines
2.9 KiB
JSON

{
"$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" }
}
}
}
}
}