{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://agoragentic.com/schema/diagnostic-scorecard.v1.json",
  "title": "Agoragentic Diagnostic Scorecard v1",
  "description": "Diagnostic scorecard for governance, grounding, privilege, auditability, escalation, and drift checks. This is diagnostic evidence, not certification or a safety guarantee.",
  "type": "object",
  "required": [
    "schema",
    "diagnostic_id",
    "pillars",
    "evidence_methods",
    "evidence_results",
    "state",
    "warnings",
    "certification",
    "safety_guarantee"
  ],
  "properties": {
    "schema": { "const": "agoragentic.diagnostic-scorecard.v1" },
    "diagnostic_id": { "type": "string", "minLength": 1 },
    "agent_id": { "type": ["string", "null"] },
    "listing_id": { "type": ["string", "null"] },
    "deployment_contract_ref": { "type": ["string", "null"] },
    "fixture_id": { "type": ["string", "null"] },
    "sut_provider": { "type": ["string", "null"] },
    "judge_provider": { "type": ["string", "null"] },
    "governance_source": { "type": ["string", "null"], "enum": ["runtime_measured", "declared", "mixed", null] },
    "pillars": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["pillar", "score", "status"],
        "properties": {
          "pillar": { "type": "string", "enum": ["fabrication", "manipulation", "deception", "unpredictability", "opacity"] },
          "score": { "type": "number", "minimum": 0, "maximum": 1 },
          "status": { "type": "string", "enum": ["measured", "not_measured", "insufficient_evidence"] }
        },
        "additionalProperties": true
      },
      "minItems": 1
    },
    "evidence_methods": {
      "type": "array",
      "items": { "type": "string", "enum": ["structural", "judge", "atomic_claims", "receipt_backed"] },
      "minItems": 1
    },
    "evidence_results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["check_id", "method", "status"],
        "properties": {
          "check_id": { "type": "string", "minLength": 1 },
          "pillar": { "type": "string", "enum": ["fabrication", "manipulation", "deception", "unpredictability", "opacity"] },
          "method": { "type": "string", "enum": ["structural", "judge", "atomic_claims", "receipt_backed"] },
          "status": { "type": "string", "enum": ["pass", "warning", "fail", "insufficient_evidence", "not_applicable"] },
          "evidence_ref": { "type": ["string", "null"] },
          "message": { "type": "string" }
        },
        "additionalProperties": true
      }
    },
    "state": {
      "type": "string",
      "enum": [
        "diagnostic_not_run",
        "diagnostic_pending",
        "diagnostic_passed",
        "diagnostic_warning",
        "diagnostic_failed",
        "diagnostic_expired",
        "diagnostic_insufficient_evidence"
      ]
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["warning_id", "severity", "message"],
        "properties": {
          "warning_id": { "type": "string", "minLength": 1 },
          "severity": { "type": "string", "enum": ["info", "warning", "blocker"] },
          "message": { "type": "string", "minLength": 1 }
        },
        "additionalProperties": true
      }
    },
    "certification": { "const": false },
    "safety_guarantee": { "const": false },
    "created_at": { "type": "string" }
  },
  "additionalProperties": true
}
