{
  "name": "idempotency/full-row-raw",
  "why": "§5 P2: pattern/min apply to cleaned values, so the cleaned row passes the same rules again",
  "rules": {
    "columns": [
      {
        "key": "name",
        "nullable": false
      },
      {
        "key": "phone",
        "type": "kr.phone",
        "pattern": "^010-"
      },
      {
        "key": "amount",
        "type": "kr.amount",
        "min": -5000
      },
      {
        "key": "date",
        "type": "date",
        "date": {
          "formats": [
            "YYYY.M.D"
          ]
        }
      },
      {
        "key": "zip",
        "type": "kr.zip"
      },
      {
        "key": "ok",
        "type": "boolean"
      },
      {
        "key": "memo"
      }
    ]
  },
  "rows": [
    {
      "$row": 7,
      "name": " 홍길동 ",
      "phone": "010 1234 5678",
      "amount": "(1,000)",
      "date": "2024.1.5",
      "zip": "06236",
      "ok": "O",
      "memo": ""
    }
  ],
  "expect": {
    "ok": true,
    "errors": [],
    "warnings": [],
    "rows": [
      {
        "$row": 7,
        "name": "홍길동",
        "phone": "010-1234-5678",
        "amount": -1000,
        "date": "2024-01-05",
        "zip": "06236",
        "ok": true,
        "memo": null
      }
    ]
  }
}
