KAMIWAZA Gate
Python ライブラリ、CLI、レビュー画面を備えた書類検品ツールを作りました。YAML ルールで不備を見つけ、人が例外承認や差戻しを判断できます。不備の記録と人の判断を、両方とも履歴に残します。
この作品
正規化されたJSONを受け取り、必須項目、日付、重複、合計金額などを宣言的なルールで検品する仕組みを作りました。不備はルールID・対象項目・理由を持つ所見として返し、書類を保留にします。
PythonライブラリとCLIに加え、保留書類を確認して承認・差戻しを行うローカルのレビュー画面を用意しました。自動で通過した書類と、人が例外を承認した書類を区別したまま出力できます。
仕組み
書類をルールと照合
書類の項目や合計金額をルールと照らし合わせ、問題のある箇所に理由を付けます。
自動通過か、人の確認か
問題がなければ自動で通過し、不備があれば人が承認するか差し戻すかを決めます。
判断を残して出力
自動通過または人の承認を得た書類だけを出力し、その区別と元の指摘・判断の履歴を残します。
結果を再現するため、書類・ルール設定・基準日・過去の書類履歴を評価の入力として扱います。金額は十進数の文字列から計算し、ルールには実行可能なPython式を埋め込みません。
評価と人の判断はSQLiteへ追記し、SHA-256で連鎖させます。例外承認後も元の所見を残し、履歴の検証では独立して保管した末尾ハッシュとの比較も行える設計です。
記録から分かること
同梱する20ルールに通過と失敗のケースを用意し、ローカルで426本のテストが成功しました。CLI・ライブラリ・レビュー画面を通じて、検品から人の判断、出力までの流れを確認しました。
人が承認しても元の失敗が残ること、差戻した書類が出力されないこと、監査イベントを書き換えるとハッシュの不一致を検出することを確認しました。
- 同梱ルール
- 20本
- ローカルテスト
- 426本成功
確かめた範囲
合成データで検証したローカル実装で、本番運用実績ではありません。書類抽出、LLMとの実接続、利用者認証は対象外です。監査履歴を丸ごと再計算した書換えの検知には、独立して保管したチェックポイントが必要です。
