{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "workstream": {
      "const": "pxr-official-baseline-reproduction"
    },
    "source_keys": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "environment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "python": {
          "type": "string",
          "minLength": 1
        },
        "packages": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "hardware": {
          "type": "string",
          "minLength": 1
        },
        "command": {
          "type": "string",
          "minLength": 1
        },
        "seed_policy": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "python",
        "packages",
        "hardware",
        "command",
        "seed_policy"
      ]
    },
    "limitations": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "train_rows": {
      "type": "integer",
      "minimum": 0
    },
    "prediction_rows": {
      "type": "integer",
      "minimum": 0
    },
    "missing_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "extra_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "duplicate_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "published_prediction_comparison": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "matched_rows": {
          "type": "integer",
          "minimum": 0
        },
        "mean_absolute_difference": {
          "type": "number",
          "minimum": 0
        },
        "max_absolute_difference": {
          "type": "number",
          "minimum": 0
        },
        "matching_within_1e_6": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [
        "matched_rows",
        "mean_absolute_difference",
        "max_absolute_difference",
        "matching_within_1e_6"
      ]
    },
    "phase_metrics": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "phase": {
            "enum": [
              "1",
              "2"
            ]
          },
          "n": {
            "type": "integer",
            "minimum": 0
          },
          "mae": {
            "type": "number",
            "minimum": 0
          },
          "rae": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          }
        },
        "required": [
          "phase",
          "n",
          "mae",
          "rae"
        ]
      }
    },
    "descriptor_names": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "deviations_from_notebook": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "discrepancy_analysis": {
      "type": "string",
      "minLength": 1
    },
    "reproduction_command": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "workstream",
    "source_keys",
    "environment",
    "limitations",
    "train_rows",
    "prediction_rows",
    "missing_ids",
    "extra_ids",
    "duplicate_ids",
    "published_prediction_comparison",
    "phase_metrics",
    "descriptor_names",
    "deviations_from_notebook",
    "discrepancy_analysis",
    "reproduction_command"
  ]
}
