Replayable Execution Dump Format
デバッグ、監査、および決定論的リプレイ(Deterministic Replay)を保証するための実行ダンプ構造を定義する。
1. Purpose
AI の出力は確率的であるが、OS としての AIKernel には「同一入力・同一状態からの再現性」または「結果への完全遡及性」が必要である。本仕様は次を実現する。
- 決定論的リプレイ: 障害時状態を開発環境で再構成し、再現デバッグを可能にする。
- 監査証拠能力: PDP 判定や Routing 根拠を改ざん困難なハッシュチェーンとして記録する。
- 回帰テスト自動化: 過去ダンプを正解セットとして Provider 更新による挙動変化を検知する。
2. Required Fields (必須フィールド)
ダンプは実行コンテキストを単体再構成できる自己完結性を持たなければならない。
| フィールド名 | 役割 |
|---|---|
DumpId |
実行セッションの一意識別子(UUID/ULID)。 |
ExecutionTimestampUtc |
実行開始時刻。動的能力(予算/負荷)の参照点。 |
KernelVersion |
実行時 AIKernel のバージョン。 |
Seed |
モデル乱数シード。再現性の核。 |
PipelineDefinitionHash |
DAG 構成・フェーズ境界定義のハッシュ。 |
PromptArtifactHash |
Signed Prompt Governance 検証済みプロンプトのハッシュ。 |
ProviderManifest |
ProviderId, Version, 実行時 CapabilityVector ハッシュ。 |
MaterialSnapshotHashSet |
検疫済み Material のハッシュ集合。 |
OrchestrationSnapshotHash |
実行直前 OrchestrationContext 状態ハッシュ。 |
ExecutionOutcomeHash |
最終結果と中間成果(Thought)ハッシュ。 |
3. Optional Fields (追加情報)
分析・最適化のための補助メタデータ。
- レイテンシメトリクス: Structure / Generation / Polish 所要時間。
- トークン会計詳細: 入力・思考・出力ごとのトークン消費とコスト。
- ポリシー評価トレース: PDP の許可/拒否判定ツリー。
- モデルルーティングスコア:
IVectorMatcherによる候補別適合度内訳。
4. Serialization Rules (直列化規則)
ハッシュ安定性とバイナリ比較性を担保する。
- Canonical Ordering: JSON キーを常に辞書順で並べる。
- Binary Content-Addressing: 大規模バイナリは埋め込まず content hash 参照にする。
- Strict ISO-8601: 時刻は UTC
YYYY-MM-DDTHH:mm:ss.sssZに統一する。 - Floating Point Precision: スコア系浮動小数点は固定精度で丸める。
5. Integrity Checks (整合性検証)
リプレイ前に IExecutionVerifier が次を検証する。
- Resolution Check: すべての参照ハッシュが Snapshot Store または Repository で解決可能。
- Chain of Trust:
PromptArtifact->OrchestrationContext->Provider->Outcomeが一致。 - Signature Linkage: Outcome が署名者情報と KernelVersion に論理的に紐付く。
6. Fail-Closed Rule (安全側拒否)
整合性不明なダンプは汚染記録として拒否する。
- Verification Failure: ハッシュチェーン不一致ならリプレイ拒否しアラート発報。
- Mandatory Field Missing: 必須項目欠落時は監査証拠として無効化。
- Version Incompatibility:
KernelVersion差異が大きく再現不可能な場合は停止。
7. Storage Concept
ダンプは通常 ExecutionDumpBundle(例: .admp)としてパッケージ化し、次の三層構造を持つ。
- Header: メタデータとインデックス。
- Context Map: 実行時バッファのスナップショット参照。
- Trace Log: フェーズ単位の入出力ハッシュ。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/15.REPLAYABLE_EXECUTION_DUMP_FORMAT-jp.md