Selparo · 運用判断ガイド
昨日まで動いたCSV処理が壊れる:列変更を取り込み前に止める
CSVの列名や型が変わると、ファイルを読めても別の値を加工することがあります。列の契約を保存し、受け入れる変更と止める変更を先に分けます。
公式情報確認日:。
三列の契約を保存する
| 列名 | 型・条件 | 欠けた場合 |
|---|---|---|
| order_id | 文字列・空欄不可・一意 | 取り込みを止める |
| amount_jpy | この例では整数・単位は円 | 取り込みを止める |
| ordered_on | YYYY-MM-DD・対象期間内 | 要確認へ分ける |
00042のようなIDは数値へ変換すると先頭の0を失います。金額は通貨と単位を列名または契約で固定し、空欄と0を区別します。負の金額を許すかは返品などの業務ルールで決めます。
列変更を四種類に分ける
| 変更 | 例 | 扱い |
|---|---|---|
| 並べ替え | 金額列が右端へ | 名前で対応づける設計なら受入。位置依存なら止める |
| 必須列の削除・改名 | order_idが注文番号へ | 意味が同じと推測せず、対応表を改版 |
| 未定義列の追加 | internal_noteを追加 | 出力へ自動転記せず、許可した列だけ処理 |
| 型・単位の変更 | 円が千円単位へ | 変換規則と試験を更新するまで止める |
同名の列が二つある入力も曖昧です。片方だけを黙って採用する前に、入力契約違反として扱います。自動修正できるかより、誤って正本を更新しないことを優先します。
旧版と新版を同じ小さな入力で試す
- 昨日の契約と今日のヘッダーを比較し、差分だけを表示する。
- 改名、列順変更、未知列追加、必須列欠落、重複ヘッダーを合成データで再現する。
- 許可する改名だけ対応表に明記し、契約の版を更新する。
- 出力を別の保存先へ作り、IDと値が変わっていないか照合する。
- 不一致時に旧契約・旧出力へ戻せる状態で切り替える。
この手順はCSVの取り込み境界の試験です。取得元のアクセス権や実行時刻を直すものではありません。Cloud・VPSへ移しても、列の意味が変わる問題は残ります。
契約の表現方法
Frictionless Table Schema v1は列名、型、欠測値、制約、キーを記述する形式です。上の変更分類と受入方針はSelparoの設計例で、この仕様が未知列の自動転記禁止を一律に定めているという意味ではありません。実装する読込処理が契約を検証しているか、試験結果で確認します。
Claude Codeに使うなら、実行場所も決める
本文の受入条件を決めた仕事をClaude Codeで進める場合、次は入力に届く場所とPCの稼働時間から実行場所を選べます。
入力の契約を保つ実行場所を選ぶ診断はClaude Codeの実行場所を選ぶためのものです。容量計算やn8n・Codexの設定は扱いません。VPS結果には広告 / PRがあり、不要なら契約しません。