英語版は IAuditLogger.md を参照。
IAuditLogger (監査ロガー仕様)
1. 責務の境界 (Responsibility Boundary)
IAuditLogger は、AIKernel 内で発生する意思決定・実行・検閲・転送イベントを改ざん耐性のある監査証跡として記録する境界インターフェースです。
- 役割:
- 非役割:
推論実行、ガード判定、パイプライン遷移、プロバイダー通信、転送追跡を分類記録し、説明責任と再現性を担保します。
リアルタイム通知は IEventBus 側の責務であり、本契約は永続証跡記録に集中します。
2. 契約シグネチャ (Signature)
namespace AIKernel.Abstractions.Events;\n\npublic interface IAuditLogger\n{\n ValueTask LogAuditEventAsync(AuditEvent auditEvent, CancellationToken cancellationToken = default);\n\n ValueTask LogExecutionEventAsync(ExecutionEvent executionEvent, CancellationToken cancellationToken = default);\n\n ValueTask LogGuardEventAsync(GuardEvent guardEvent, CancellationToken cancellationToken = default);\n\n ValueTask LogPipelineEventAsync(PipelineEvent pipelineEvent, CancellationToken cancellationToken = default);\n\n ValueTask LogProviderEventAsync(ProviderEvent providerEvent, CancellationToken cancellationToken = default);\n\n ValueTask LogTransferTraceAsync(TransferTrace transferTrace, CancellationToken cancellationToken = default);\n}
3. 関連ユースケース (Related UCs)
UC-20決定論的リプレイと監査証跡:UC-13実行時署名検証とガバナンス:UC-24監査証跡出力:
実行時の入力/判断/出力/通信を再構成可能に記録します。
検証失敗・違反イベントを監査トリガーとして保存します。
検索可能な構造化証跡を外部監査系へ連携します。
4. 統治上の制約 (Governance & Determinism)
- 時系列整合:
- 不変性:
- Fail-Closed:
追記順序は因果復元可能な時系列整合性を維持する必要があります。
監査ログは append-only を前提とし、事後改変を禁止します。
監査記録不能時は証跡欠落推論を避けるため、安全側停止または厳格フォールバックが必要です。
5. 例外契約 (Exception Contract)
本インターフェース自体は例外型を固定しません。実装では以下の失敗類型を明示することが推奨されます。
- ストレージ障害:
- 直列化障害:
永続化先書き込み失敗や容量不足。
ログイベントの構造化出力失敗。
6. 実装時の注意 (Notes)
- 構造化ログ:
- 秘匿情報保護:
- 性能:
JSON 等の検索可能形式で保存し、横断分析を容易にしてください。
APIキーやPIIはマスキング・トークン化して記録します。
非同期書き込み/バッファリングで推論クリティカルパスへの影響を最小化してください。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/interfaces/governance/IAuditLogger-jp.md