英語版は IRuleEngine.md を参照。
IRuleEngine (ルールエンジン仕様)
1. 責務の境界 (Responsibility Boundary)
IRuleEngine は、入力・出力・実行プロセスが組織ルールや不変条件に適合しているかを評価する統治インターフェースです。
- 役割:
- 非役割:
ルール評価の合否判定、違反理由、違反レベルの判定結果を返却します。
ルール定義の保存管理や永続化は責務外であり、評価実行のみに集中します。
2. 契約シグネチャ (Signature)
namespace AIKernel.Abstractions.Rules;\n\npublic interface IRuleEngine\n{\n ValueTask<RuleEvaluationResult> EvaluateAsync(\n string ruleId,\n RuleEvaluationContext context,\n CancellationToken cancellationToken = default);\n}
3. 関連ユースケース (Related UCs)
UC-13実行時署名検証とガバナンス:UC-04生成と出力整形:UC-21ポリシー実行:
署名整合に加えて内容規範適合性を検証します。
生成物が形式・安全ルールに適合するかを後段で評価します。
ガードレール判定の中核として機能します。
4. 統治上の制約 (Governance & Determinism)
- 決定論的評価:
- 不変条件の強制:
- 副作用排除:
同一 ruleId と同一 RuleEvaluationContext には同一結果を返す必要があります。
重大違反判定時は上位層が Fail-Closed 側で実行停止できる結果を返す必要があります。
EvaluateAsync は評価専用であり、入力コンテキストや外部状態を変更しません。
5. 例外契約 (Exception Contract)
本インターフェース自体は例外型を固定しません。実装では以下の失敗類型を明示することが推奨されます。
- ルール未解決:
- 評価基盤障害:
指定 ruleId が存在しない/読み込めない場合。
評価エンジンのタイムアウトや実行不可が発生した場合。
6. 実装時の注意 (Notes)
- 実装多様性:
- スコア統合:
ルールベース、正規表現、特化型モデル評価など用途に応じて実装可能です。
違反累積は IUnifiedContextContract の健全性指標(SNR/HealthScore)に連携可能です。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/interfaces/rules/IRuleEngine-jp.md