{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://getzero.dev/contracts/zero.growth_multi_operator_history.v1.schema.json",
  "title": "ZERO Growth Multi-Operator History Readback",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "kind",
    "status",
    "generated_at",
    "canonical_url",
    "current_blocker",
    "score_gate",
    "history_policy",
    "coverage",
    "targets",
    "privacy_boundary",
    "auto_execution_enabled",
    "eligibility_gate_required",
    "compensation_label_required"
  ],
  "properties": {
    "schema_version": { "const": "zero.growth_multi_operator_history.v1" },
    "kind": { "const": "growth_multi_operator_history_readback" },
    "status": { "enum": ["collecting_history", "multi_operator_ready", "aggregate_unavailable"] },
    "generated_at": { "type": "string", "format": "date-time" },
    "canonical_url": { "const": "https://getzero.dev/api/growth/multi-operator-history" },
    "current_blocker": { "enum": ["multi_operator_growth_history_missing", null] },
    "score_gate": {
      "type": "object",
      "additionalProperties": false,
      "required": ["can_promote_public_score", "reason", "next_action"],
      "properties": {
        "can_promote_public_score": { "type": "boolean" },
        "reason": { "type": "string", "minLength": 1 },
        "next_action": { "type": "string", "minLength": 1 }
      }
    },
    "history_policy": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "minimum_distinct_operators",
        "minimum_multi_operator_targets",
        "minimum_total_active_receipts",
        "maximum_latest_receipt_age_days",
        "future_receipt_clock_skew_tolerance_seconds"
      ],
      "properties": {
        "minimum_distinct_operators": { "const": 2 },
        "minimum_multi_operator_targets": { "const": 1 },
        "minimum_total_active_receipts": { "type": "integer", "minimum": 1 },
        "maximum_latest_receipt_age_days": { "type": "integer", "minimum": 1 },
        "future_receipt_clock_skew_tolerance_seconds": { "type": "integer", "minimum": 0 }
      }
    },
    "coverage": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "total_active_receipts",
        "distinct_operators",
        "active_targets",
        "multi_operator_targets",
        "active_target_kinds",
        "active_intent_kinds",
        "latest_receipt_at",
        "checks"
      ],
      "properties": {
        "total_active_receipts": { "type": "integer", "minimum": 0 },
        "distinct_operators": { "type": "integer", "minimum": 0 },
        "active_targets": { "type": "integer", "minimum": 0 },
        "multi_operator_targets": { "type": "integer", "minimum": 0 },
        "active_target_kinds": {
          "type": "array",
          "items": { "enum": ["operator", "agent", "replay"] }
        },
        "active_intent_kinds": {
          "type": "array",
          "items": { "enum": ["follow", "disciple_signal_only", "save_trade_receipt"] }
        },
        "latest_receipt_at": { "type": ["string", "null"], "format": "date-time" },
        "checks": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "distinct_operator_count_met",
            "multi_operator_target_met",
            "total_receipts_met",
            "recency_met"
          ],
          "properties": {
            "distinct_operator_count_met": { "type": "boolean" },
            "multi_operator_target_met": { "type": "boolean" },
            "total_receipts_met": { "type": "boolean" },
            "recency_met": { "type": "boolean" }
          }
        }
      }
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "target",
          "active_receipts",
          "distinct_operators",
          "active_intent_kinds",
          "latest_receipt_at",
          "multi_operator_ready"
        ],
        "properties": {
          "target": {
            "type": "object",
            "additionalProperties": false,
            "required": ["kind", "handle", "agent_short_id", "replay_id"],
            "properties": {
              "kind": { "enum": ["operator", "agent", "replay"] },
              "handle": { "type": ["string", "null"] },
              "agent_short_id": { "type": ["string", "null"] },
              "replay_id": { "type": ["string", "null"] }
            }
          },
          "active_receipts": { "type": "integer", "minimum": 0 },
          "distinct_operators": { "type": "integer", "minimum": 0 },
          "active_intent_kinds": {
            "type": "array",
            "items": { "enum": ["follow", "disciple_signal_only", "save_trade_receipt"] }
          },
          "latest_receipt_at": { "type": ["string", "null"], "format": "date-time" },
          "multi_operator_ready": { "type": "boolean" }
        }
      }
    },
    "privacy_boundary": {
      "type": "object",
      "additionalProperties": false,
      "required": ["aggregate_only", "operator_ids_public", "metadata_public", "public_detail"],
      "properties": {
        "aggregate_only": { "const": true },
        "operator_ids_public": { "const": false },
        "metadata_public": { "const": false },
        "public_detail": { "const": "global_and_target_counts_only" }
      }
    },
    "auto_execution_enabled": { "const": false },
    "eligibility_gate_required": { "const": true },
    "compensation_label_required": { "const": true }
  }
}
