{
  "input": [
    {
      "name": "inside",
      "input": {
        "zip": "9990001"
      }
    },
    {
      "name": "boundary",
      "input": {
        "zip": "9990002"
      }
    },
    {
      "name": "out",
      "input": {
        "zip": "9990003"
      }
    },
    {
      "name": "unknown",
      "input": {
        "zip": "9999999"
      }
    },
    {
      "name": "empty",
      "input": {}
    },
    {
      "name": "invalid",
      "input": {
        "zip": "abc"
      }
    },
    {
      "name": "edge-inside",
      "input": {
        "town": "見本市境町2丁目"
      }
    },
    {
      "name": "edge-outside",
      "input": {
        "town": "見本市境町3丁目"
      }
    },
    {
      "name": "fullwidth",
      "input": {
        "zip": "９９９０００１"
      }
    },
    {
      "name": "human-exception",
      "input": {
        "zip": "9990001"
      }
    }
  ],
  "process": [
    "Copied original judge, ziptable and overrides modules; retained SHA-256 evidence",
    "Executed original engine with synthetic postcode and area rules",
    "Asserted boundaries, invalid inputs, amounts and human override"
  ],
  "output": [
    {
      "name": "inside",
      "input": {
        "zip": "9990001"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "ok",
        "zone": {
          "id": "near",
          "label": "通常エリア"
        },
        "fee_jpy": 300,
        "min_order_jpy": 2000,
        "fee_display": "¥300",
        "min_order_display": "¥2,000",
        "matched": {
          "town": "若葉町",
          "pref": "架空県",
          "city": "見本市",
          "basis": "zip",
          "granularity": "town"
        },
        "held_quota": false,
        "reasons": [
          "公開エリア記述と一致しました"
        ],
        "contact": null,
        "uninspected": [
          "建物名・部屋番号・階数 (建物への配達可否)",
          "配達の日時・曜日・時間帯の指定",
          "注文の内容・数量・支払い方法"
        ],
        "candidates": []
      }
    },
    {
      "name": "boundary",
      "input": {
        "zip": "9990002"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "confirm",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": {
          "town": "境町",
          "pref": "架空県",
          "city": "見本市",
          "basis": "zip",
          "granularity": null
        },
        "held_quota": false,
        "reasons": [
          "公開された条件だけでは町域・丁目を確定できません"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "out",
      "input": {
        "zip": "9990003"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "out",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": {
          "town": "遠方町",
          "pref": "架空県",
          "city": "別見本市",
          "basis": "zip",
          "granularity": null
        },
        "held_quota": false,
        "reasons": [
          "公開された配達対象エリアに含まれません"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "unknown",
      "input": {
        "zip": "9999999"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "confirm",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": {
          "town": null,
          "pref": null,
          "city": null,
          "basis": "zip",
          "granularity": null
        },
        "held_quota": false,
        "reasons": [
          "この郵便番号に対応する町名が分かりませんでした。「町名で調べる」に切り替えて、お試しください。"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "empty",
      "input": {},
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "invalid",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": null,
        "held_quota": false,
        "reasons": [
          "郵便番号(7桁) または町名を入力してください"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "invalid",
      "input": {
        "zip": "abc"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "invalid",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": null,
        "held_quota": false,
        "reasons": [
          "郵便番号は 7 桁の数字で入力してください (例: 244-0003)"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "edge-inside",
      "input": {
        "town": "見本市境町2丁目"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "ok",
        "zone": {
          "id": "edge",
          "label": "境界エリア"
        },
        "fee_jpy": 500,
        "min_order_jpy": 3000,
        "fee_display": "¥500",
        "min_order_display": "¥3,000",
        "matched": {
          "town": "境町",
          "pref": null,
          "city": "見本市",
          "basis": "town",
          "granularity": "town"
        },
        "held_quota": false,
        "reasons": [
          "公開エリア記述と一致しました"
        ],
        "contact": null,
        "uninspected": [
          "建物名・部屋番号・階数 (建物への配達可否)",
          "配達の日時・曜日・時間帯の指定",
          "注文の内容・数量・支払い方法"
        ],
        "candidates": []
      }
    },
    {
      "name": "edge-outside",
      "input": {
        "town": "見本市境町3丁目"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "confirm",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": {
          "town": "境町",
          "pref": null,
          "city": "見本市",
          "basis": "town",
          "granularity": null
        },
        "held_quota": false,
        "reasons": [
          "お近くの市区町村は配達対象ですが、この町名は公開リストにありません"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    },
    {
      "name": "fullwidth",
      "input": {
        "zip": "９９９０００１"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "ok",
        "zone": {
          "id": "near",
          "label": "通常エリア"
        },
        "fee_jpy": 300,
        "min_order_jpy": 2000,
        "fee_display": "¥300",
        "min_order_display": "¥2,000",
        "matched": {
          "town": "若葉町",
          "pref": "架空県",
          "city": "見本市",
          "basis": "zip",
          "granularity": "town"
        },
        "held_quota": false,
        "reasons": [
          "公開エリア記述と一致しました"
        ],
        "contact": null,
        "uninspected": [
          "建物名・部屋番号・階数 (建物への配達可否)",
          "配達の日時・曜日・時間帯の指定",
          "注文の内容・数量・支払い方法"
        ],
        "candidates": []
      }
    },
    {
      "name": "human-exception",
      "input": {
        "zip": "9990001"
      },
      "output": {
        "schema_version": "judge-result/1",
        "verdict": "confirm",
        "zone": null,
        "fee_jpy": null,
        "min_order_jpy": null,
        "fee_display": "要確認",
        "min_order_display": "要確認",
        "matched": {
          "town": null,
          "pref": null,
          "city": null,
          "basis": "zip",
          "granularity": null
        },
        "held_quota": false,
        "reasons": [
          "店舗例外：この地域は当日の担当者確認が必要です。"
        ],
        "contact": null,
        "uninspected": [],
        "candidates": []
      }
    }
  ],
  "humanReview": "実店舗の条件は店主が承認。建物・日時・注文内容を担当者が確認するまで注文確定しない。",
  "provenance": "Existing c10-delivery-area deterministic core; all locations, postcodes and fees are synthetic demo fixtures. No AI or external API.",
  "recordedAt": "2026-09-27T23:06:43.285Z"
}