schema/council.schema.json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "emergence/council.schema.json",
"title": "Council verdict (verified lane — inactive)",
"type": "object",
"required": ["id", "status", "lane", "claim", "verdict", "council", "session", "deliberated_at"],
"properties": {
"id": { "type": "string", "pattern": "^vrd_[a-f0-9]{12}$" },
"status": { "enum": ["verified", "refuted", "unclear"] },
"lane": { "const": "council" },
"claim": { "type": "string", "minLength": 1 },
"verdict": {
"type": "object",
"required": ["stance", "confidence", "reasoning", "evidence_needed"],
"properties": {
"stance": { "enum": ["supported", "refuted", "unclear"] },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
"reasoning": { "type": "string" },
"evidence_needed": { "type": "array", "items": { "type": "string" } },
"dissent": { "type": ["string", "null"] }
}
},
"council": {
"type": "object",
"required": ["model", "seats", "rounds"],
"properties": {
"model": { "type": "string" },
"seats": { "type": "integer" },
"rounds": { "type": "integer" },
"tokens_in": { "type": "integer" },
"tokens_out": { "type": "integer" },
"cost_usd": { "type": "number" }
}
},
"session": { "type": "string", "description": "path to full deliberation transcript" },
"deliberated_at": { "type": "string" }
}
}