# codex / hyou-csv-03

## Prompt
あなたはデータ整備の担当です。添付の在庫マスタCSV（手入力・表記ゆれあり）だけを根拠に、各レコードを下記ルールで正規化し、整形後の構造化データを出力してください。

【正規化ルール】
- 商品コード: 半角大文字の『SKU-NNNN』形式に統一（全角『ＳＫＵ』や小文字『sku』も SKU に）。
- 商品名: 前後の空白を除去（中間の空白は残す）。
- 入荷日: 『YYYY-MM-DD』のISO形式に統一（『2026/4/3』『26/4/12』『2026年4月15日』『2026.04.10』なども月日を2桁ゼロ詰めで）。年が2桁の場合は2026年とみなす。
- 単価: 円記号(¥／￥)・『円』・空白を除いた整数（円）。
- 在庫数: 『本』『個』などの単位、全角・半角のカンマ桁区切り、前後空白を除いた整数。在庫0はそのまま0。

【設問】
1. 全レコードを上記ルールで正規化した配列を出力。
2. 在庫評価額の合計（各レコードの 単価×在庫数 の総和）を計算。

【出力】必ず次のJSON形式のみ出力してください（前後に説明文を付けない）。

{
  "records": [
    { "code": "SKU-NNNN", "name": "...", "date": "YYYY-MM-DD", "unitPrice": <整数>, "stock": <整数> }
  ],
  "totalInventoryValue": <整数>
}
## 添付ファイル: fixtures/zaiko-meisai.csv

# 在庫マスタ（手入力・表記ゆれあり）架空データ
# 列: 商品コード, 商品名, 入荷日, 単価, 在庫数, 倉庫
# ※日付・数値・全角半角・単位・前後空白の表記がバラバラです。
商品コード,商品名,入荷日,単価,在庫数,倉庫
ＳＫＵ-1001, ボールペン（黒）,2026/04/03,¥120,３４０本,東倉庫
SKU-1002,ノート A5 ,2026-4-3,150円, 200 ,東倉庫
sku-1003,蛍光ペン 黄,2026.04.10,￥98,1,250本,西倉庫
SKU-1004, クリップ大,26/4/12,80,４，０００個 ,西倉庫
SKU-1005,付箋 75mm,2026年4月15日,¥210, 88,東倉庫
SKU-1006,ホッチキス針,2026/4/3,360,０,東倉庫
# 注: SKU-1003 の在庫「1,250本」は半角カンマの桁区切り。SKU-1004 の「４，０００個」は全角。
# 注: SKU-1006 は在庫0だが廃番ではない。倉庫名は全て『東倉庫』『西倉庫』のいずれかに正規化済みのはず。


## Answer
{"records":[{"code":"SKU-1001","name":"ボールペン（黒）","date":"2026-04-03","unitPrice":120,"stock":340},{"code":"SKU-1002","name":"ノート A5","date":"2026-04-03","unitPrice":150,"stock":200},{"code":"SKU-1003","name":"蛍光ペン 黄","date":"2026-04-10","unitPrice":98,"stock":1250},{"code":"SKU-1004","name":"クリップ大","date":"2026-04-12","unitPrice":80,"stock":4000},{"code":"SKU-1005","name":"付箋 75mm","date":"2026-04-15","unitPrice":210,"stock":88},{"code":"SKU-1006","name":"ホッチキス針","date":"2026-04-03","unitPrice":360,"stock":0}],"totalInventoryValue":531780}

## Metrics
```json
{
  "ttftMs": null,
  "tokens": 0,
  "tokPerSec": null,
  "wallMs": 20915,
  "toolCalls": 0,
  "toolCallInvalid": 0,
  "capHit": false,
  "errored": false,
  "crashed": false
}
```