{
  "report": {
    "schema_version": "1.0",
    "engine_version": "0.1.0",
    "source_sha256": "5bd8ca767d6f2d3a790ba8b5885b7df2098b5d3a2c6434aca2e0cf33d204768c",
    "status": "needs_review",
    "import_approved": false,
    "summary": {
      "input_rows": 3,
      "output_rows": 3,
      "issues": 5,
      "rows_needing_review": 3,
      "safe_changes": 1,
      "issue_counts": {
        "DUPLICATE_SKU": 1,
        "INCONSISTENT_FIELD": 2,
        "MISSING_IDENTIFIER": 1,
        "PRICE_OUTSIDE_BOUNDS": 1
      }
    },
    "rules": {
      "sku_column": "sku",
      "required_columns": [
        "sku"
      ],
      "consistent_fields": [
        "name",
        "price",
        "currency",
        "barcode"
      ],
      "trim_fields": [
        "name"
      ],
      "min_price": "0.01",
      "max_price": "100000"
    },
    "warnings": [
      "Review CSV retains flagged values and is NOT import-ready approval.",
      "Import all CSV columns as text; formula-like values are not escaped.",
      "No physical inventory, identifier ownership, currency validity or marketplace rules verified."
    ],
    "headers": [
      "sku",
      "name",
      "price",
      "currency"
    ],
    "issues": [
      {
        "code": "PRICE_OUTSIDE_BOUNDS",
        "severity": "warning",
        "records": [
          3
        ],
        "field": "price",
        "message": "Price outside configured bounds; not proof of an error",
        "minimum": "0.01",
        "maximum": "100000"
      },
      {
        "code": "MISSING_IDENTIFIER",
        "severity": "error",
        "records": [
          4
        ],
        "field": "sku",
        "message": "Required value is missing"
      },
      {
        "code": "DUPLICATE_SKU",
        "severity": "warning",
        "records": [
          2,
          3
        ],
        "field": "sku",
        "message": "Repeated identifier; may be intentional, no rows merged",
        "sku": "DEMO-1"
      },
      {
        "code": "INCONSISTENT_FIELD",
        "severity": "warning",
        "records": [
          2,
          3
        ],
        "field": "name",
        "message": "Same exact SKU has differing values; no winner selected",
        "sku": "DEMO-1"
      },
      {
        "code": "INCONSISTENT_FIELD",
        "severity": "warning",
        "records": [
          2,
          3
        ],
        "field": "price",
        "message": "Same exact SKU has differing values; no winner selected",
        "sku": "DEMO-1"
      }
    ],
    "changes": [
      {
        "record": 2,
        "field": "name",
        "before": " Example ",
        "after": "Example",
        "rule": "trim_configured_text"
      }
    ],
    "rows": [
      {
        "record": 2,
        "original": {
          "sku": "DEMO-1",
          "name": " Example ",
          "price": "10.00",
          "currency": "AUD"
        },
        "cleaned": {
          "sku": "DEMO-1",
          "name": "Example",
          "price": "10.00",
          "currency": "AUD"
        },
        "needs_review": true
      },
      {
        "record": 3,
        "original": {
          "sku": "DEMO-1",
          "name": "Example",
          "price": "-1",
          "currency": "AUD"
        },
        "cleaned": {
          "sku": "DEMO-1",
          "name": "Example",
          "price": "-1",
          "currency": "AUD"
        },
        "needs_review": true
      },
      {
        "record": 4,
        "original": {
          "sku": "",
          "name": "Missing SKU",
          "price": "5.00",
          "currency": "AUD"
        },
        "cleaned": {
          "sku": "",
          "name": "Missing SKU",
          "price": "5.00",
          "currency": "AUD"
        },
        "needs_review": true
      }
    ]
  },
  "cleaned_csv": "sku,name,price,currency\nDEMO-1,Example,10.00,AUD\nDEMO-1,Example,-1,AUD\n,Missing SKU,5.00,AUD\n"
}
