{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://getzero.dev/contracts/zero.engine_product_truth.v1.schema.json",
  "title": "ZERO engine product truth v1",
  "description": "Public operator-facing contract for the ZERO Hyperliquid engine product narrative and safety boundary.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "kind",
    "public",
    "canonical_url",
    "contract_url",
    "contract_schema",
    "proof_url",
    "capabilities_url",
    "venue",
    "product_narrative",
    "operator_value",
    "engine_systems",
    "public_routes",
    "agent_readable_paths",
    "mcp_tools",
    "safety_boundary",
    "score_gate"
  ],
  "properties": {
    "schema_version": { "const": "zero.engine_product_truth.v1" },
    "kind": { "const": "engine_product_truth" },
    "public": { "const": true },
    "generated_at": { "type": "string", "format": "date-time" },
    "canonical_url": { "const": "https://getzero.dev/engine" },
    "contract_url": { "const": "https://getzero.dev/api/engine?q=product" },
    "contract_schema": { "const": "https://getzero.dev/contracts/zero.engine_product_truth.v1.schema.json" },
    "proof_url": { "const": "https://getzero.dev/api/engine?q=proof" },
    "capabilities_url": { "const": "https://getzero.dev/api/engine?q=capabilities" },
    "venue": {
      "type": "object",
      "additionalProperties": false,
      "required": ["primary", "mode", "live_boundary"],
      "properties": {
        "primary": { "const": "Hyperliquid perpetuals" },
        "mode": { "type": "string", "pattern": "self-custodial" },
        "live_boundary": { "type": "string", "pattern": "operator lease" }
      }
    },
    "product_narrative": {
      "type": "object",
      "additionalProperties": false,
      "required": ["headline", "promise", "not_claims"],
      "properties": {
        "headline": { "type": "string", "pattern": "Hyperliquid" },
        "promise": { "type": "string", "pattern": "Watch setups" },
        "not_claims": {
          "type": "array",
          "minItems": 4,
          "uniqueItems": true,
          "items": { "type": "string" }
        }
      }
    },
    "operator_value": {
      "type": "array",
      "minItems": 5,
      "items": { "$ref": "#/$defs/operator_value" },
      "allOf": [
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "find_setups" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "inspect_refusals" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "understand_risk" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "verify_execution" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "deploy_safely" } } } }
      ]
    },
    "engine_systems": {
      "type": "array",
      "minItems": 6,
      "items": { "$ref": "#/$defs/engine_system" },
      "allOf": [
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "hyperliquid_feed" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "immune_system" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "refusal_engine" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "near_miss_feedback" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "circuit_breaker" } } } },
        { "contains": { "type": "object", "required": ["id"], "properties": { "id": { "const": "execution_quality" } } } }
      ]
    },
    "public_routes": {
      "type": "array",
      "minItems": 6,
      "uniqueItems": true,
      "items": { "type": "string", "format": "uri" },
      "contains": { "const": "https://getzero.dev/engine" }
    },
    "agent_readable_paths": {
      "type": "array",
      "minItems": 4,
      "uniqueItems": true,
      "items": { "type": "string", "format": "uri" },
      "contains": { "const": "https://getzero.dev/api/engine?q=product" }
    },
    "mcp_tools": {
      "type": "array",
      "minItems": 10,
      "uniqueItems": true,
      "items": { "type": "string", "pattern": "^zero_" },
      "contains": { "const": "zero_get_immune_status" }
    },
    "safety_boundary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "public_mcp_read_only",
        "private_key_custody",
        "auto_execution_enabled",
        "live_execution_requires_operator_lease",
        "paper_first",
        "blocked_public_claims"
      ],
      "properties": {
        "public_mcp_read_only": { "const": true },
        "private_key_custody": { "const": false },
        "auto_execution_enabled": { "const": false },
        "live_execution_requires_operator_lease": { "const": true },
        "paper_first": { "const": true },
        "blocked_public_claims": {
          "type": "array",
          "minItems": 4,
          "uniqueItems": true,
          "items": { "type": "string" }
        }
      }
    },
    "score_gate": {
      "type": "object",
      "additionalProperties": false,
      "required": ["cleared_blocker", "next_blocker", "promotion_evidence"],
      "properties": {
        "cleared_blocker": { "const": "engine_public_product_truth_gap" },
        "next_blocker": { "const": "live_engine_evidence_depth" },
        "promotion_evidence": {
          "type": "array",
          "minItems": 3,
          "items": { "type": "string" }
        }
      }
    }
  },
  "$defs": {
    "operator_value": {
      "type": "object",
      "additionalProperties": false,
      "required": ["id", "label", "operator_question", "engine_surface", "public_path", "mcp_tool"],
      "properties": {
        "id": { "type": "string" },
        "label": { "type": "string", "minLength": 4 },
        "operator_question": { "type": "string", "minLength": 10 },
        "engine_surface": { "type": "string", "minLength": 4 },
        "public_path": { "type": "string", "format": "uri" },
        "mcp_tool": { "type": "string", "pattern": "^zero_" }
      }
    },
    "engine_system": {
      "type": "object",
      "additionalProperties": false,
      "required": ["id", "label", "role", "operator_output", "public_evidence"],
      "properties": {
        "id": { "type": "string" },
        "label": { "type": "string", "minLength": 4 },
        "role": { "type": "string", "minLength": 20 },
        "operator_output": { "type": "string", "minLength": 10 },
        "public_evidence": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "string", "format": "uri" }
        }
      }
    }
  }
}
