{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://packrift-benchmark-navigator.vercel.app/data/packingsolver-fixtures/schemas/fixture_cartons.schema.json",
  "title": "Packrift Fixture Cartons CSV row schema",
  "description": "Candidate bin/carton records derived from public Packrift carton product records. This schema validates JSON objects produced by parsing the CSV row as strings.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "carton_id",
    "sku",
    "title",
    "length_in",
    "width_in",
    "height_in",
    "volume_cuin",
    "family",
    "quality_score",
    "source_product_url",
    "carton_role"
  ],
  "properties": {
    "carton_id": {
      "type": "string",
      "description": "Stable generated carton row identifier.",
      "pattern": "^carton-\\d{3}$"
    },
    "sku": {
      "type": "string",
      "description": "Packrift source SKU for the carton candidate."
    },
    "title": {
      "type": "string",
      "description": "Public product title used for review."
    },
    "length_in": {
      "type": "string",
      "description": "Parsed internal length in inches.",
      "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
    },
    "width_in": {
      "type": "string",
      "description": "Parsed internal width in inches.",
      "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
    },
    "height_in": {
      "type": "string",
      "description": "Parsed internal height in inches.",
      "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
    },
    "volume_cuin": {
      "type": "string",
      "description": "Length x width x height in cubic inches.",
      "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
    },
    "family": {
      "type": "string",
      "description": "Source Packrift family.",
      "enum": [
        "boxes"
      ]
    },
    "quality_score": {
      "type": "string",
      "description": "Source quality score from the benchmark quality ledger.",
      "pattern": "^(?:0|[1-9][0-9]*)$"
    },
    "source_product_url": {
      "type": "string",
      "description": "Public Packrift product URL used as source evidence.",
      "format": "uri"
    },
    "carton_role": {
      "type": "string",
      "description": "Fixture role for the row.",
      "enum": [
        "candidate_bin"
      ]
    }
  }
}
