{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "WP42 deterministic evaluation receipt",
  "type": "object",
  "required": ["task_id", "run_id", "evaluator_version", "required_criteria", "critical_violations", "det_completion", "det_score", "abstention", "notes"],
  "properties": {
    "task_id": {"type": "string"}, "run_id": {"type": "string"}, "evaluator_version": {"type": "string"},
    "required_criteria": {"type": "array", "items": {"type": "object", "required": ["id", "description", "passed", "weight"],
      "properties": {"id": {"type": "string"}, "description": {"type": "string"}, "passed": {"type": "boolean"}, "weight": {"type": "number"}, "detail": {"type": "string"}}}},
    "critical_violations": {"type": "array", "items": {"type": "object", "required": ["id", "description"],
      "properties": {"id": {"type": "string"}, "description": {"type": "string"}, "detail": {"type": "string"}}}},
    "det_completion": {"type": "boolean"}, "det_score": {"type": "number", "minimum": 0, "maximum": 1},
    "abstention": {"type": "object", "properties": {"status": {"type": ["string", "null"]}, "justified": {"type": ["boolean", "null"]}}},
    "notes": {"type": "string"}
  }
}
