Validator
本ページは検証ツールとルールのハブである。バリデータおよびルールの規範仕様は Standard に記載する。
クイックスタート(30秒)
1. 前提条件
pip install jsonschema # 未インストールの場合
2. サンプルバンドルに対してバリデーションを実行
# ルート JSON 単体
python validator/src/validate.py examples/evidence_bundle_minimal/root.json
# Evidence Bundle ディレクトリ(v0.1 最小例:manifest / object_index / payload_index / signing / hash_chain を検証)
python validator/src/validate.py examples/evidence_bundle_v01_minimal
3. レポートを読み、エラー/警告を修正
出力例(成功):
OK
出力例(失敗):
Schema validation failed:
<root>: 'version' is a required property
<root>: 'dictionary' is a required property
<root>: 'evidence' is a required property
終了コード: 0 = 成功, 1 = バリデーションエラー, 2 = 使用法エラー(引数不足など)
出力形式(--format)と CI での使い分け
| オプション | 用途 | 出力 |
|---|---|---|
default(省略時) |
ローカルでの確認 | 人間向けメッセージ(OK / エラー一覧) |
--format json |
CI・スクリプト向け | 機械可読 JSON(valid, errors, warnings, path, profiles_valid) |
--format sarif |
GitHub Code Scanning | SARIF 2.1.0(ruleId, level, location, message)。提出前ゲートとして Code Scanning に結果を載せる際に使用。 |
例(Evidence Bundle v0.1 最小例の検証)
# ローカルで成功確認
python validator/src/validate.py examples/evidence_bundle_v01_minimal
# JSON で結果を取得(CI でパースする場合)
python validator/src/validate.py examples/evidence_bundle_v01_minimal --validate-profiles --format json
# SARIF をファイルに保存(Code Scanning アップロード用)
python validator/src/validate.py examples/evidence_bundle_v01_minimal --validate-profiles --format sarif > dist/validator.sarif
GitHub 上での見え方: Quality Gate ワークフローで --format sarif の結果を upload-sarif により Code Scanning に送信している。PR でバリデータが失敗すると、Code Scanning の「Security」タブに aimo-standard/validation の結果として表示され、どのパスでどのエラーかが確認できる。
チェックする内容
- スキーマ検証: root オブジェクト、dictionary、evidence が JSON Schema に準拠しているか
- 辞書整合性: すべてのコードがタクソノミー辞書に存在するか
- コードステータス: 非推奨コードは警告、削除コードはエラー
チェックしない内容
- コンテンツの正確性: バリデータは構造をチェックし、意味はチェックしない
- 準拠保証: バリデーション合格は規制への準拠を保証しない
- 人の判断: 文脈依存の判断は人によるレビューが必要(人による監督プロトコル参照)
- ログの自動収集: バリデータは提出された証跡を検証するが、ログを収集しない
リソース
- 仕様: Standard > Current > Validator — ルール、参照チェック、検証と証跡の関係。
- ルールと実装: リポジトリの
validator/rules/(チェック)、validator/src/(参照実装)。実行方法と CI での利用は仕様に記載。 - 解釈: 検証「失敗」が監査上何を意味するか(仕様で説明)。
適合性とアーティファクトの利用については Conformance と Artifacts を参照。