{
  "$defs": {
    "Failure": {
      "additionalProperties": false,
      "properties": {
        "actual": {
          "title": "Actual",
          "type": "string"
        },
        "arguments": {
          "title": "Arguments",
          "type": "object"
        },
        "assertion": {
          "title": "Assertion",
          "type": "string"
        },
        "body": {
          "title": "Body",
          "type": "string"
        },
        "call": {
          "title": "Call",
          "type": "string"
        },
        "expected": {
          "title": "Expected",
          "type": "string"
        },
        "field": {
          "title": "Field",
          "type": "string"
        },
        "tool": {
          "title": "Tool",
          "type": "string"
        },
        "upstream_status": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Upstream Status"
        }
      },
      "required": [
        "tool",
        "call",
        "arguments",
        "assertion",
        "expected",
        "actual",
        "field",
        "upstream_status",
        "body"
      ],
      "title": "Failure",
      "type": "object"
    },
    "FindingRow": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "endpoint_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Endpoint Id"
        },
        "message": {
          "title": "Message",
          "type": "string"
        },
        "pointer": {
          "title": "Pointer",
          "type": "string"
        },
        "severity": {
          "title": "Severity",
          "type": "string"
        }
      },
      "required": [
        "code",
        "severity",
        "endpoint_id",
        "pointer",
        "message"
      ],
      "title": "FindingRow",
      "type": "object"
    },
    "Summary": {
      "additionalProperties": false,
      "properties": {
        "gaps": {
          "title": "Gaps",
          "type": "integer"
        },
        "generated": {
          "title": "Generated",
          "type": "integer"
        },
        "skipped": {
          "title": "Skipped",
          "type": "integer"
        },
        "synthesized": {
          "title": "Synthesized",
          "type": "integer"
        },
        "verified": {
          "title": "Verified",
          "type": "integer"
        }
      },
      "required": [
        "generated",
        "verified",
        "synthesized",
        "gaps",
        "skipped"
      ],
      "title": "Summary",
      "type": "object"
    },
    "ToolRow": {
      "additionalProperties": false,
      "properties": {
        "calls": {
          "title": "Calls",
          "type": "integer"
        },
        "endpoints": {
          "items": {
            "type": "string"
          },
          "title": "Endpoints",
          "type": "array"
        },
        "evidence": {
          "title": "Evidence",
          "type": "string"
        },
        "failed": {
          "title": "Failed",
          "type": "string"
        },
        "reason": {
          "title": "Reason",
          "type": "string"
        },
        "status": {
          "title": "Status",
          "type": "string"
        },
        "tool": {
          "title": "Tool",
          "type": "string"
        }
      },
      "required": [
        "tool",
        "endpoints",
        "status",
        "failed",
        "reason",
        "calls",
        "evidence"
      ],
      "title": "ToolRow",
      "type": "object"
    },
    "UsageRow": {
      "additionalProperties": false,
      "properties": {
        "cache_read_input_tokens": {
          "title": "Cache Read Input Tokens",
          "type": "integer"
        },
        "cache_write_input_tokens": {
          "title": "Cache Write Input Tokens",
          "type": "integer"
        },
        "estimated_usd": {
          "title": "Estimated Usd",
          "type": "number"
        },
        "input_tokens": {
          "title": "Input Tokens",
          "type": "integer"
        },
        "output_tokens": {
          "title": "Output Tokens",
          "type": "integer"
        }
      },
      "required": [
        "input_tokens",
        "output_tokens",
        "cache_read_input_tokens",
        "cache_write_input_tokens",
        "estimated_usd"
      ],
      "title": "UsageRow",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "allowlist": {
      "items": {
        "type": "string"
      },
      "title": "Allowlist",
      "type": "array"
    },
    "curation_mode": {
      "title": "Curation Mode",
      "type": "string"
    },
    "duration_ms": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Duration Ms"
    },
    "evidence": {
      "title": "Evidence",
      "type": "string"
    },
    "excluded": {
      "items": {
        "type": "string"
      },
      "title": "Excluded",
      "type": "array"
    },
    "failures": {
      "items": {
        "$ref": "#/$defs/Failure"
      },
      "title": "Failures",
      "type": "array"
    },
    "findings": {
      "items": {
        "$ref": "#/$defs/FindingRow"
      },
      "title": "Findings",
      "type": "array"
    },
    "manifest_sha256": {
      "title": "Manifest Sha256",
      "type": "string"
    },
    "mcp4api": {
      "title": "Mcp4Api",
      "type": "string"
    },
    "model": {
      "title": "Model",
      "type": "string"
    },
    "source_sha256": {
      "title": "Source Sha256",
      "type": "string"
    },
    "source_uri": {
      "title": "Source Uri",
      "type": "string"
    },
    "started_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Started At"
    },
    "summary": {
      "$ref": "#/$defs/Summary"
    },
    "tools": {
      "items": {
        "$ref": "#/$defs/ToolRow"
      },
      "title": "Tools",
      "type": "array"
    },
    "usage": {
      "$ref": "#/$defs/UsageRow"
    }
  },
  "required": [
    "mcp4api",
    "source_uri",
    "source_sha256",
    "manifest_sha256",
    "model",
    "curation_mode",
    "evidence",
    "allowlist",
    "summary",
    "tools",
    "failures",
    "excluded",
    "findings",
    "usage"
  ],
  "title": "Report",
  "type": "object"
}
