{
  "schema_version": "ai_agent_owner_approved_result_capture_readback_v1",
  "generated_at": "2026-06-13T14:18:00+08:00",
  "program_status": {
    "overall_completion_percent": 100,
    "current_priority": "P2",
    "current_task_id": "P2-107",
    "next_task_id": "P2-108",
    "read_only_mode": true,
    "runtime_authority": "owner_approved_result_capture_readback_only_no_live_write",
    "status_note": "P2-107 承接 P2-106 無寫入 dry-run，固定 result capture readback digest、promotion readiness review、failure lane 與 reviewer queue preview；本快照只讀，不寫 runtime 結果。"
  },
  "source_refs": [
    "docs/evaluations/ai_agent_owner_approved_result_capture_dry_run_2026-06-13.json",
    "docs/schemas/ai_agent_owner_approved_result_capture_dry_run_v1.schema.json",
    "apps/api/src/services/ai_agent_owner_approved_result_capture_dry_run.py",
    "apps/api/src/services/ai_agent_critic_reviewer_result_capture.py",
    "apps/api/src/services/post_execution_verifier.py",
    "apps/api/src/services/approval_execution.py",
    "docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md"
  ],
  "prior_dry_run_readback": {
    "source_schema_version": "ai_agent_owner_approved_result_capture_dry_run_v1",
    "readback_at": "2026-06-13T12:49:00+08:00",
    "result_capture_template_count": 5,
    "score_fixture_count": 5,
    "dry_run_gate_count": 7,
    "operator_action_count": 5,
    "approval_required_gate_count": 2,
    "blocked_gate_count": 1,
    "approved_without_execution_meta_24h": 63,
    "execution_failed_with_matched_24h": 1,
    "owner_approval_received_count": 0,
    "dry_run_preview_generated_count": 0,
    "result_capture_write_count": 0,
    "score_write_count": 0,
    "learning_write_count": 0,
    "playbook_trust_write_count": 0,
    "gateway_queue_write_count": 0,
    "telegram_send_count": 0,
    "production_write_count": 0,
    "readback_note": "P2-106 已建立 owner-approved dry-run template 與 score fixture；P2-107 只做 fixture readback 與 promotion readiness，不讀 canonical runtime target。"
  },
  "readback_truth": {
    "p2_106_dry_run_loaded": true,
    "fixture_readback_allowed": true,
    "readback_digest_ready": true,
    "promotion_readiness_review_ready": true,
    "owner_review_required_before_promotion": true,
    "canonical_runtime_readback_enabled": false,
    "runtime_result_capture_write_enabled": false,
    "runtime_score_write_enabled": false,
    "runtime_learning_write_enabled": false,
    "playbook_trust_write_enabled": false,
    "reviewer_queue_write_enabled": false,
    "gateway_queue_write_enabled": false,
    "telegram_send_enabled": false,
    "production_write_enabled": false,
    "secret_read_enabled": false,
    "destructive_operation_enabled": false,
    "owner_approval_received_count": 0,
    "readback_digest_generated_count": 0,
    "promotion_approved_count": 0,
    "reviewer_queue_write_count": 0,
    "result_capture_write_count_24h": 0,
    "score_write_count_24h": 0,
    "learning_write_count_24h": 0,
    "playbook_trust_write_count_24h": 0,
    "gateway_queue_write_count_24h": 0,
    "telegram_send_count_24h": 0,
    "production_write_count_24h": 0,
    "secret_read_count_24h": 0,
    "destructive_operation_count_24h": 0,
    "truth_note": "目前只允許 committed fixture readback 與 promotion readiness 檢查；owner approval、readback runtime generation、reviewer queue write、score/result/learning/trust/Gateway/Telegram/production write 仍全部為 0。"
  },
  "result_capture_readback_digests": [
    {
      "digest_id": "readback_digest_approved_execution_result",
      "display_name": "APPROVED result capture readback digest",
      "source_template_id": "dry_run_capture_approved_execution_result",
      "owner_agent": "openclaw",
      "status": "approval_required",
      "candidate_count_24h": 63,
      "readback_fields": [
        "owner_approval_id",
        "approval_id",
        "incident_id",
        "matched_playbook_id",
        "operator_outcome",
        "verifier_plan_ref"
      ],
      "verifier_checks": [
        "owner_scope_match",
        "result_state_match",
        "rollback_plan_present",
        "public_redaction_pass"
      ],
      "promotion_blocker": "owner approval 與 canonical readback 尚未啟用，禁止 promotion 到 live writer。",
      "fixture_only": true,
      "runtime_read_enabled": false,
      "write_enabled": false,
      "evidence_hash": "sha256:1313131313131313131313131313131313131313131313131313131313131313"
    },
    {
      "digest_id": "readback_digest_execution_failed_candidate",
      "display_name": "EXECUTION_FAILED candidate readback digest",
      "source_template_id": "dry_run_capture_execution_failed_candidate",
      "owner_agent": "nemotron",
      "status": "approval_required",
      "candidate_count_24h": 1,
      "readback_fields": [
        "owner_approval_id",
        "approval_id",
        "matched_playbook_id",
        "failure_reason_ref",
        "negative_learning_weight_preview",
        "verifier_plan_ref"
      ],
      "verifier_checks": [
        "failure_reason_redacted",
        "negative_learning_preview_only",
        "trust_update_hold",
        "replay_hash_present"
      ],
      "promotion_blocker": "NemoTron 只能驗證 failure candidate，不得寫負向 learning 或 trust。",
      "fixture_only": true,
      "runtime_read_enabled": false,
      "write_enabled": false,
      "evidence_hash": "sha256:2424242424242424242424242424242424242424242424242424242424242424"
    },
    {
      "digest_id": "readback_digest_pending_human_gate",
      "display_name": "PENDING human gate readback digest",
      "source_template_id": "dry_run_capture_pending_human_gate",
      "owner_agent": "hermes",
      "status": "blocked_by_policy",
      "candidate_count_24h": 2,
      "readback_fields": [
        "approval_id",
        "matched_playbook_id",
        "pending_reason",
        "human_decision_required",
        "expires_at"
      ],
      "verifier_checks": [
        "pending_reason_present",
        "human_gate_required",
        "learning_write_absent",
        "operator_followup_ready"
      ],
      "promotion_blocker": "pending human gate 不可被自動轉成 learning 或 result capture write。",
      "fixture_only": true,
      "runtime_read_enabled": false,
      "write_enabled": false,
      "evidence_hash": "sha256:3535353535353535353535353535353535353535353535353535353535353535"
    },
    {
      "digest_id": "readback_digest_manual_or_noop",
      "display_name": "manual / no-op readback digest",
      "source_template_id": "dry_run_capture_manual_or_noop",
      "owner_agent": "hermes",
      "status": "ready_for_owner_review",
      "candidate_count_24h": 0,
      "readback_fields": [
        "incident_id",
        "approval_id",
        "manual_resolution_note",
        "noop_reason",
        "operator_verified"
      ],
      "verifier_checks": [
        "manual_note_redacted",
        "noop_reason_present",
        "learning_exclusion_present",
        "operator_verified_present"
      ],
      "promotion_blocker": "沒有候選資料與人工核對前，只能保留為 readback digest。",
      "fixture_only": true,
      "runtime_read_enabled": false,
      "write_enabled": false,
      "evidence_hash": "sha256:4646464646464646464646464646464646464646464646464646464646464646"
    },
    {
      "digest_id": "readback_digest_post_write_verifier_receipt",
      "display_name": "post-write verifier receipt readback digest",
      "source_template_id": "dry_run_capture_post_write_verifier_receipt",
      "owner_agent": "nemotron",
      "status": "blocked_by_policy",
      "candidate_count_24h": 0,
      "readback_fields": [
        "verifier_plan_ref",
        "expected_result_hash",
        "rollback_plan_ref",
        "operator_ack_required"
      ],
      "verifier_checks": [
        "expected_hash_present",
        "rollback_lane_present",
        "operator_ack_required",
        "canonical_read_disabled"
      ],
      "promotion_blocker": "post-write verifier receipt 尚未有 live write，所以不得讀 canonical target 或回寫 receipt。",
      "fixture_only": true,
      "runtime_read_enabled": false,
      "write_enabled": false,
      "evidence_hash": "sha256:5757575757575757575757575757575757575757575757575757575757575757"
    }
  ],
  "promotion_readiness_reviews": [
    {
      "review_id": "promotion_review_owner_scope",
      "display_name": "Owner scope readiness",
      "owner_agent": "openclaw",
      "source_digest_id": "readback_digest_approved_execution_result",
      "readiness_state": "needs_owner_review",
      "risk_tier": "high",
      "required_before_promotion": [
        "owner approval id",
        "approved contract ids",
        "rollback owner",
        "public evidence refs"
      ],
      "failure_if_missing": "缺 owner scope 時，禁止推進到 P2-108。",
      "promotion_allowed": false,
      "creates_runtime_write": false
    },
    {
      "review_id": "promotion_review_score_fixture_parity",
      "display_name": "Score fixture parity readiness",
      "owner_agent": "openclaw",
      "source_digest_id": "readback_digest_approved_execution_result",
      "readiness_state": "ready_for_owner_review",
      "risk_tier": "medium",
      "required_before_promotion": [
        "critic score fixture",
        "reviewer score fixture",
        "disagreement gate",
        "minimum score policy"
      ],
      "failure_if_missing": "缺 critic / reviewer fixture 時，不得建立 reviewer queue item。",
      "promotion_allowed": false,
      "creates_runtime_write": false
    },
    {
      "review_id": "promotion_review_redaction_digest",
      "display_name": "Public redaction digest readiness",
      "owner_agent": "hermes",
      "source_digest_id": "readback_digest_manual_or_noop",
      "readiness_state": "ready_for_owner_review",
      "risk_tier": "medium",
      "required_before_promotion": [
        "public summary",
        "blocked fields list",
        "allowed fields list",
        "evidence hash"
      ],
      "failure_if_missing": "缺公開遮罩摘要時，治理頁與 Telegram digest 都不得顯示。",
      "promotion_allowed": false,
      "creates_runtime_write": false
    },
    {
      "review_id": "promotion_review_failure_candidate",
      "display_name": "Failure candidate verifier readiness",
      "owner_agent": "nemotron",
      "source_digest_id": "readback_digest_execution_failed_candidate",
      "readiness_state": "needs_owner_review",
      "risk_tier": "high",
      "required_before_promotion": [
        "failure reason ref",
        "無寫入 replay hash",
        "negative learning hold",
        "post-write verifier plan"
      ],
      "failure_if_missing": "缺 無寫入 replay hash 時，NemoTron 不得提交 failure candidate。",
      "promotion_allowed": false,
      "creates_runtime_write": false
    },
    {
      "review_id": "promotion_review_live_writer_gate",
      "display_name": "Live writer gate readiness",
      "owner_agent": "openclaw",
      "source_digest_id": "readback_digest_post_write_verifier_receipt",
      "readiness_state": "blocked_by_policy",
      "risk_tier": "critical",
      "required_before_promotion": [
        "P2-108 approval package",
        "canonical readback plan",
        "rollback drill",
        "Telegram failure receipt gate"
      ],
      "failure_if_missing": "沒有下一關批准包前，任何 live writer、Telegram send 或 queue write 都維持 0。",
      "promotion_allowed": false,
      "creates_runtime_write": false
    }
  ],
  "failure_lanes": [
    {
      "lane_id": "failure_lane_missing_owner_scope",
      "display_name": "missing owner scope",
      "owner_agent": "openclaw",
      "status": "blocked_by_policy",
      "trigger_condition": "owner approval id、scope 或 contract ids 不完整",
      "required_response": "退回 owner packet 補件，不產生 reviewer queue write。",
      "aborts_promotion": true,
      "creates_runtime_write": false
    },
    {
      "lane_id": "failure_lane_redaction_mismatch",
      "display_name": "redaction mismatch",
      "owner_agent": "hermes",
      "status": "blocked_by_policy",
      "trigger_condition": "public summary、blocked field list 或 evidence hash 不一致",
      "required_response": "重建公開遮罩 digest；前端與 Telegram digest 均不顯示原始內容。",
      "aborts_promotion": true,
      "creates_runtime_write": false
    },
    {
      "lane_id": "failure_lane_verifier_fixture_missing",
      "display_name": "verifier fixture missing",
      "owner_agent": "nemotron",
      "status": "blocked_by_policy",
      "trigger_condition": "post-write verifier plan、rollback lane 或 無寫入 replay hash 缺漏",
      "required_response": "保留在 fixture-only readback，不讀 canonical target。",
      "aborts_promotion": true,
      "creates_runtime_write": false
    },
    {
      "lane_id": "failure_lane_agent_disagreement",
      "display_name": "agent disagreement",
      "owner_agent": "openclaw",
      "status": "ready_for_review",
      "trigger_condition": "Critic、Reviewer 或 verifier verdict 不一致",
      "required_response": "提升到統帥審核；Hermes 只整理摘要，NemoTron 只補 replay hash。",
      "aborts_promotion": true,
      "creates_runtime_write": false
    }
  ],
  "reviewer_queue_preview": [
    {
      "queue_id": "review_queue_owner_scope",
      "display_name": "owner scope review queue preview",
      "owner_agent": "openclaw",
      "reviewer_role": "arbiter",
      "status": "queued_for_owner_review",
      "required_inputs": [
        "owner approval id",
        "approved contract ids",
        "rollback owner"
      ],
      "queue_write_enabled": false,
      "telegram_send_enabled": false,
      "evidence_hash": "sha256:6868686868686868686868686868686868686868686868686868686868686868"
    },
    {
      "queue_id": "review_queue_public_redaction",
      "display_name": "public redaction review queue preview",
      "owner_agent": "hermes",
      "reviewer_role": "reporter",
      "status": "queued_for_owner_review",
      "required_inputs": [
        "public summary",
        "blocked display fields",
        "allowed display fields"
      ],
      "queue_write_enabled": false,
      "telegram_send_enabled": false,
      "evidence_hash": "sha256:7979797979797979797979797979797979797979797979797979797979797979"
    },
    {
      "queue_id": "review_queue_failure_candidate",
      "display_name": "failure candidate review queue preview",
      "owner_agent": "nemotron",
      "reviewer_role": "verifier",
      "status": "queued_for_owner_review",
      "required_inputs": [
        "failure reason ref",
        "無寫入 replay hash",
        "verifier plan ref"
      ],
      "queue_write_enabled": false,
      "telegram_send_enabled": false,
      "evidence_hash": "sha256:8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a"
    },
    {
      "queue_id": "review_queue_live_writer_blocker",
      "display_name": "live writer blocker review queue preview",
      "owner_agent": "openclaw",
      "reviewer_role": "safety_reviewer",
      "status": "blocked_by_policy",
      "required_inputs": [
        "P2-108 approval package",
        "canonical readback plan",
        "rollback drill evidence"
      ],
      "queue_write_enabled": false,
      "telegram_send_enabled": false,
      "evidence_hash": "sha256:9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b"
    }
  ],
  "operator_actions": [
    {
      "action_id": "op_review_readback_digest",
      "action_type": "review_readback",
      "display_name": "審查 readback digest",
      "owner_agent": "openclaw",
      "operator_instruction": "確認 digest 只引用公開遮罩欄位與 hash，沒有 runtime result capture write。",
      "runtime_write_allowed": false
    },
    {
      "action_id": "op_compare_dry_run_hash",
      "action_type": "compare_digest",
      "display_name": "比對 dry-run hash",
      "owner_agent": "hermes",
      "operator_instruction": "比對 P2-106 template hash、P2-107 digest hash 與 blocked field list。",
      "runtime_write_allowed": false
    },
    {
      "action_id": "op_review_failure_candidate",
      "action_type": "review_failure_lane",
      "display_name": "審查 failure candidate",
      "owner_agent": "nemotron",
      "operator_instruction": "只檢查 failure reason ref 與 無寫入 replay hash，不寫負向 learning。",
      "runtime_write_allowed": false
    },
    {
      "action_id": "op_reject_or_rework_readback",
      "action_type": "reject_or_rework",
      "display_name": "退回 readback 補件",
      "owner_agent": "openclaw",
      "operator_instruction": "缺 owner scope、redaction、verifier fixture 或 rollback plan 時退回補件。",
      "runtime_write_allowed": false
    },
    {
      "action_id": "op_promote_to_p2_108_package",
      "action_type": "promote_to_next_gate",
      "display_name": "推進 P2-108 批准包",
      "owner_agent": "openclaw",
      "operator_instruction": "只在全部 readback 與 promotion readiness 通過後，建立下一關批准包；仍不啟動 live writer。",
      "runtime_write_allowed": false
    }
  ],
  "display_redaction_contract": {
    "redaction_required": true,
    "frontend_display_policy": "治理頁只顯示公開遮罩 summary、hash、readback digest、promotion readiness、failure lane 與 queue preview；不得顯示內部協作逐字稿、未脫敏提示內容、私有推理內容、未脫敏工具輸出或機密明文。",
    "raw_prompt_display_allowed": false,
    "private_reasoning_display_allowed": false,
    "secret_value_display_allowed": false,
    "raw_telegram_payload_display_allowed": false,
    "work_window_transcript_display_allowed": false
  },
  "rollups": {
    "readback_digest_count": 5,
    "promotion_review_count": 5,
    "failure_lane_count": 4,
    "reviewer_queue_preview_count": 4,
    "operator_action_count": 5,
    "approval_required_digest_count": 2,
    "blocked_digest_count": 2,
    "ready_review_count": 2,
    "blocked_review_count": 1,
    "blocked_failure_lane_count": 3,
    "queued_reviewer_preview_count": 3,
    "blocked_reviewer_preview_count": 1,
    "approved_without_execution_meta_24h": 63,
    "execution_failed_with_matched_24h": 1,
    "owner_approval_received_count": 0,
    "readback_digest_generated_count": 0,
    "promotion_approved_count": 0,
    "reviewer_queue_write_count": 0,
    "result_capture_write_count": 0,
    "score_write_count": 0,
    "learning_write_count": 0,
    "playbook_trust_write_count": 0,
    "gateway_queue_write_count": 0,
    "telegram_send_count": 0,
    "production_write_count": 0,
    "secret_read_count": 0,
    "destructive_operation_count": 0
  }
}
