AIKernel.NET
version: 0.0.2 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-05-16

02. Signed Prompt Governance Spec

1. Purpose

署名済みプロンプトのみを実行可能にする Fail-Closed 統治契約を定義する。 本スペックは、ガバナンス判断の決定論性を担保し、AI による自己承認(幻覚承認)を構造的に防止することを目的とする。

2. Scope

  • IPromptRepository
  • IPromptVerifier
  • IPromptSignatureProvider
  • ISignatureTrustStore
  • IPromptValidator

3. Normative Requirements

3.1 Deterministic PDP Requirement(決定論的 PDP 要件)

  • SGS-PDP-001 Policy Decision Point(PDP)は決定論的なコード(アルゴリズム)のみで実装しなければならない(MUST)。
  • SGS-PDP-002 ガバナンス判断(Allow / Deny / Indeterminate)に LLM 推論を直接的・間接的に関与させてはならない(MUST NOT)。
  • SGS-PDP-003 LLM による承認文生成や承認理由の補完を判定根拠として用いてはならない(MUST NOT)。

3.2 一般要件

  • SGS-001 署名欠落アーティファクトは拒否しなければならない(MUST)。
  • SGS-002 IPromptVerifier はハッシュ整合性を検証しなければならない(MUST)。
  • SGS-003 ISignatureTrustStore は署名者信頼/失効を判定しなければならない(MUST)。
  • SGS-004 IPromptValidator は有効期限とスコープを検証しなければならない(MUST)。
  • SGS-005 署名対象の正規化(Canonical Signing Payload): ROM の entity.idversionpolicy、本文(Prompt Body)を正規化した意味的スナップショットに対して署名しなければならない(MUST)。
  • SGS-006 信頼連鎖の検証(Validation of Trust Chain): ISignatureTrustStore は署名鍵が正当 issuer により承認され、実行時点で失効していないことを証明しなければならない(MUST)。
  • SGS-007 実行スコープの動的束縛(Dynamic Scope Binding): IPromptValidatorallowed_toolsmax_token_budgetscopes が実行直前コンテキスト(権限/予算)内にあることを検証しなければならない(MUST)。

4. Fail-Closed

  • SGS-F000 Non-Deterministic Governance Rejection: PDP 判定経路に非決定論的要素(LLM 呼び出し等)が含まれる場合は、即時 Deny としなければならない(MUST)。
  • SGS-F001 判定不能(Indeterminate)は Deny とする。
  • SGS-F002 検証基盤障害時は実行停止する。
  • SGS-F003 フォールバック実行モードを禁止する。
  • SGS-F004 Temporal Integrity Violation: created_at が未来時刻、または expires_at 超過時は即時ロード拒否する。
  • SGS-F005 Trusted Anchor Unreachability: ISignatureTrustStore 到達不能(タイムアウト/通信障害)時は Indeterminate(実質 Deny)として実行遮断する。

5. Anti-Pattern: Hallucinated Approval(幻覚承認)

定義: LLM が生成した文面や推論ステップを、システムが正当な承認判定として誤って採用すること。

扱い: 禁止アンチパターン。

処置: PDP 実装において推論の介在を検出した場合、監査イベント GovernanceViolation.HallucinatedApproval を発行し、実行を強制遮断しなければならない。

6. Acceptance Criteria

  • AC1: 未署名で実行不可。
  • AC2: ガバナンスロジックに LLM を組み込んだ実装は、テストフェーズで拒否される。
  • AC3: 正常署名+正当スコープでのみ実行可能。
  • AC4: TrustStore 到達不能時は常に Deny となる安全側に倒れる設計であること。

7. Artifact Anatomy(ROM/YAML 構造)

署名済みプロンプトは以下形式で IPromptRepository に保存される。

---\n# Identity & Logic\nid: "logic.analyser.core"\nversion: "2.1.0"\ntype: "kernel.signed_prompt"\n\n# Policy & Constraints\npolicy:\n  trust_level_required: 0.9\n  allowed_providers: ["[[provider.secure_llm]]"]\n  scopes: ["read:financial_data", "write:audit_log"]\n\n# Governance & Signature\ngovernance:\n  issuer: "ai-kernel@tkysoftware.xsrv.jp"\n  signer_id: "gov-officer-01"\n  hash_alg: "SHA256"\n  hash: "sha256:7f8e9a1b..."\n  signature: "MEYCIQ... (ECDSA/RSA Signature)"\n---\n# Prompt Body (ROM Format)\n## Task: Analyze Financial Statements\n* [constraint]: Do not disclose PII.\n* [reference]: [[material.latest_report]]

8. Governance Workflow(統治シーケンス)

IPromptVerifier は次の手順で正当性を判定する。

  1. Format Validation
  2. YAML 必須項目(id, hash, signature)の存在を確認する。

  3. Integrity Check
  4. ROM 本文を正準化(Canonicalization)し、ハッシュ整合性を検証する。

  5. Signature Authentication
  6. IPromptSignatureProvider で署名が正当秘密鍵由来か検証する。

  7. Trust Resolution
  8. ISignatureTrustStoresigner_id 信頼状態と鍵失効状態を確認する。

  9. Policy Authorization
  10. 決定論的 PDP により、policy が現行実行制約(予算等)内か検証する。

  11. Unfreezing
  12. すべて通過時のみ Orchestration バッファへ展開し実行許可する。


変更履歴

  • v0.0.0 / v0.0.0.0: 初期ドラフト
  • v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source: specs/02.SIGNED_PROMPT_GOVERNANCE_SPEC-jp.md