英語版は ISemanticHasher.md を参照。
ISemanticHasher (セマンティックハッシュ・インターフェース仕様)
1. 責務の境界 (Responsibility Boundary)
ISemanticHasher は、正準化済みROMの意味内容を一意に代表するハッシュ指紋を算出・検証する境界インターフェースです。
- 役割:
- 非役割:
指定アルゴリズムで決定論的ハッシュを生成し、期待値との整合を検証します。
正準化処理そのものは IRomCanonicalizer の責務です。
2. 契約シグネチャ (Signature)
namespace AIKernel.Abstractions.Rom;\n\npublic interface ISemanticHasher\n{\n string Algorithm { get; }\n\n string ComputeHash(CanonicalizedRomDto canonicalized);\n\n Task<string> ComputeHashAsync(CanonicalizedRomDto canonicalized, CancellationToken cancellationToken = default);\n\n bool VerifyHash(CanonicalizedRomDto canonicalized, string expectedHash);\n\n Task<bool> VerifyHashAsync(\n CanonicalizedRomDto canonicalized,\n string expectedHash,\n CancellationToken cancellationToken = default);\n}
3. 関連ユースケース (Related UCs)
UC-13実行時署名検証とガバナンス:UC-20決定論的リプレイ:UC-01ROMロード検証:
署名対象ダイジェストの算出・照合基盤を提供します。
実行時ROMと保存ROMの意味同一性を高速比較します。
ロード資産の整合チェックに利用されます。
4. 統治上の制約 (Governance & Determinism)
- 完全決定論:
- 衝突耐性:
- アルゴリズム一貫性:
同一 Algorithm・同一 CanonicalizedRomDto で同一文字列を返す必要があります。
異なる意味内容の衝突を最小化する安全なハッシュ関数採用が必要です。
永続化済みハッシュとの互換性を壊す挙動変更は厳格管理されるべきです。
5. 例外契約 (Exception Contract)
本インターフェース自体は例外型を固定しません。実装では以下の失敗類型を明示することが推奨されます。
- 暗号基盤障害:
- 非対応アルゴリズム:
ハッシュ計算サブシステム障害。
指定アルゴリズム未サポート。
6. 実装時の注意 (Notes)
- プレフィックス形式:
- 資産連鎖:
sha256:... のようなアルゴリズム明示形式を採用すると将来拡張に有利です。
参照バイナリ資産のハッシュを正準表現へ組み込むことで全体整合性を強化できます。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/interfaces/rom/ISemanticHasher-jp.md