{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://getzero.dev/contracts/zero.engine.proof.v1.schema.json",
  "title": "ZERO engine proof v1",
  "description": "Public machine-readable contract for ZERO engine proof systems and safety boundaries.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "kind",
    "public",
    "generated_at",
    "venue",
    "contract_schema",
    "proof_url",
    "capabilities_url",
    "safety_boundary",
    "proof_systems",
    "current_q1_gate"
  ],
  "properties": {
    "schema_version": { "const": "zero.engine.proof.v1" },
    "kind": { "const": "engine_proof_contract" },
    "public": { "const": true },
    "generated_at": { "type": "string", "format": "date-time" },
    "venue": { "const": "Hyperliquid perpetuals" },
    "contract_schema": { "const": "https://getzero.dev/contracts/zero.engine.proof.v1.schema.json" },
    "proof_url": { "const": "https://getzero.dev/api/engine?q=proof" },
    "capabilities_url": { "const": "https://getzero.dev/api/engine?q=capabilities" },
    "safety_boundary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "read_only",
        "private_key_custody",
        "live_execution_requires_operator_lease",
        "live_actions_exposed",
        "auto_execution_enabled",
        "allowed_live_actions",
        "blocked_actions"
      ],
      "properties": {
        "read_only": { "const": true },
        "private_key_custody": { "const": false },
        "live_execution_requires_operator_lease": { "const": true },
        "live_actions_exposed": { "const": false },
        "auto_execution_enabled": { "const": false },
        "allowed_live_actions": {
          "type": "array",
          "minItems": 3,
          "items": { "enum": ["order", "cancel", "scheduleCancel"] }
        },
        "blocked_actions": {
          "type": "array",
          "minItems": 5,
          "items": { "type": "string", "minLength": 8 }
        }
      }
    },
    "proof_systems": {
      "type": "array",
      "minItems": 6,
      "maxItems": 6,
      "items": { "$ref": "#/$defs/proof_system" },
      "allOf": [
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "live_canary" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "immune_system" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "circuit_breaker" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "refusals" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "near_misses" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "execution_quality" } } } }
      ]
    },
    "current_q1_gate": {
      "type": "object",
      "additionalProperties": false,
      "required": ["key", "status", "required_to_promote_q1_public_proof"],
      "properties": {
        "key": { "const": "q1_public_proof_complete" },
        "status": { "const": "public_chain_confirmed" },
        "required_to_promote_q1_public_proof": {
          "type": "array",
          "minItems": 3,
          "items": { "type": "string", "minLength": 16 }
        }
      }
    }
  },
  "$defs": {
    "proof_system": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "label",
        "purpose",
        "status",
        "public_surface",
        "engine_artifacts",
        "engine_modules",
        "scripts",
        "public_read_paths",
        "mcp_tools",
        "promotion_gates"
      ],
      "properties": {
        "id": {
          "enum": [
            "live_canary",
            "immune_system",
            "circuit_breaker",
            "refusals",
            "near_misses",
            "execution_quality"
          ]
        },
        "label": { "type": "string", "minLength": 3 },
        "purpose": { "type": "string", "minLength": 24 },
        "status": { "enum": ["evidence_producer_available", "calibrating", "blocked"] },
        "public_surface": { "type": "string", "minLength": 3 },
        "engine_artifacts": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string", "minLength": 8 }
        },
        "engine_modules": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string", "pattern": "^zero\\." }
        },
        "scripts": {
          "type": "array",
          "items": { "type": "string", "pattern": "^engine/scripts/" }
        },
        "public_read_paths": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string", "pattern": "^https://getzero\\.dev/" }
        },
        "mcp_tools": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string", "pattern": "^zero_" }
        },
        "promotion_gates": {
          "type": "array",
          "minItems": 2,
          "items": { "type": "string", "minLength": 8 }
        }
      }
    }
  }
}
