{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Product capture contract v1",
  "type": "array",
  "minItems": 1,
  "maxItems": 1000,
  "items": {
    "type": "object",
    "properties": {
      "title": { "type": "string", "minLength": 1, "pattern": "\\S", "description": "Product title as displayed" },
      "priceText": { "type": ["string", "null"], "minLength": 1, "pattern": "\\S", "description": "Displayed price including currency; null when unavailable, never infer zero" },
      "tags": { "type": "array", "items": { "type": "string", "minLength": 1, "pattern": "\\S" }, "description": "All tag labels belonging to this product; empty when none exist" }
    },
    "required": ["title", "priceText", "tags"],
    "additionalProperties": false
  }
}
