{
  "schema_version": "ai_agent_version_lifecycle_update_proposal_v1",
  "generated_at": "2026-06-26T18:20:00+08:00",
  "program_status": {
    "overall_completion_percent": 78,
    "current_priority": "P2",
    "current_task_id": "P2-413",
    "next_task_id": "P2-414",
    "read_only_mode": true,
    "runtime_authority": "version_lifecycle_update_proposal_only_no_write_or_upgrade",
    "status_note": "P2-413 將 AI Agent、套件、工具、服務、主機、K3s、stateful、Telegram 與 MCP/RAG 的版本生命週期統一整理成更新提案佇列。Agent 可主動分析、排序、產生批准包與回滾驗證計畫；實際升級、外查、PR、排程、Telegram 發送、主機操作與生產路由變更仍全部關閉。"
  },
  "source_refs": [
    "docs/evaluations/ai_agent_proactive_operations_contract_2026-06-11.json",
    "docs/evaluations/ai_agent_host_stateful_version_inventory_2026-06-11.json",
    "docs/evaluations/dependency_supply_chain_drift_monitor_2026-06-18.json",
    "docs/evaluations/ai_agent_market_radar_readback_2026-06-26.json",
    "docs/evaluations/ai_technology_radar_readback_2026-06-26.json",
    "docs/ai/AI_AGENT_AUTOMATION_WORKLIST_2026-06-04.md"
  ],
  "agent_roles": [
    {
      "agent_id": "openclaw",
      "role": "仲裁者",
      "responsibility": "高風險版本變更、主機/K3s/stateful 維護窗、OpenClaw challenger 評估、回滾與最終 gate 判斷。"
    },
    {
      "agent_id": "hermes",
      "role": "營運與知識執行者",
      "responsibility": "套件/CI/觀測/Telegram 版本差異整理、報告化、runbook 草稿、批准包欄位完整性。"
    },
    {
      "agent_id": "nemotron",
      "role": "AI 技術評測執行者",
      "responsibility": "AI Agent/模型/SDK/MCP/RAG 候選的市場資料摘要、離線 replay 評估設計、schema 與工具鏈兼容性檢查。"
    }
  ],
  "lifecycle_domains": [
    {
      "domain_id": "ai_agents_models",
      "display_name": "AI Agent / 模型 / SDK",
      "owner_agent": "nemotron",
      "risk_tier": "high",
      "cadence": "weekly_primary_source + triggered_on_major_release",
      "decision_policy": "市場 scorecard、replay、shadow、canary、成本、安全與可觀測性證據不足時只保留提案。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "backend_python_packages",
      "display_name": "FastAPI / Python 套件",
      "owner_agent": "hermes",
      "risk_tier": "high",
      "cadence": "daily_repo_manifest + weekly_primary_source",
      "decision_policy": "只產生 dependency approval packet；不得寫 lockfile、不得安裝或升級。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "frontend_javascript_packages",
      "display_name": "Next.js / pnpm 套件",
      "owner_agent": "hermes",
      "risk_tier": "medium",
      "cadence": "daily_repo_manifest + weekly_primary_source",
      "decision_policy": "只整理 UI/runtime 相容性、lockfile 差異與煙測計畫；不得改 lockfile。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "container_images",
      "display_name": "Docker base image / image digest",
      "owner_agent": "openclaw",
      "risk_tier": "high",
      "cadence": "weekly_digest_review + triggered_on_security",
      "decision_policy": "只產 SBOM/digest pin 提案；不得 pull/build/push image。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "host_os_packages",
      "display_name": "主機 OS / kernel / Nginx / SSH",
      "owner_agent": "openclaw",
      "risk_tier": "critical",
      "cadence": "monthly_maintenance_review + triggered_on_security",
      "decision_policy": "必須先有維護窗、備份、rollback owner、smoke plan；不得執行主機指令。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "k3s_kubernetes_components",
      "display_name": "K3s / Kubernetes / CNI / Ingress",
      "owner_agent": "openclaw",
      "risk_tier": "critical",
      "cadence": "monthly_skew_policy_review + triggered_on_eol",
      "decision_policy": "先做 version skew 與節點維護窗批准包；不得 kubectl、drain、restart。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "stateful_services",
      "display_name": "PostgreSQL / Redis / MinIO / Harbor / Gitea",
      "owner_agent": "openclaw",
      "risk_tier": "critical",
      "cadence": "monthly_stateful_review + triggered_on_security",
      "decision_policy": "任何更新前必須證明備份新鮮、restore drill 與資料相容性；不得 restart/migration。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "observability_stack",
      "display_name": "Prometheus / Alertmanager / Grafana / OTEL / Sentry",
      "owner_agent": "hermes",
      "risk_tier": "medium",
      "cadence": "weekly_freshness + monthly_upgrade_review",
      "decision_policy": "只提出 route/receiver/collector 相容性矩陣；不得寫告警路由。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "telegram_bot_gateway",
      "display_name": "Telegram Bot / Gateway / digest policy",
      "owner_agent": "hermes",
      "risk_tier": "high",
      "cadence": "weekly_policy_review + triggered_on_delivery_failure",
      "decision_policy": "只產 no-send digest 與收斂策略；不得直送 Bot 或寫 Gateway queue。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "mcp_rag_tool_registry",
      "display_name": "MCP / RAG / tool registry",
      "owner_agent": "nemotron",
      "risk_tier": "medium",
      "cadence": "weekly_contract_review + triggered_on_tool_release",
      "decision_policy": "只整理工具能力、資料保留、redaction 與審核需求；不得啟用新工具或外部服務。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "ci_cd_runner_tools",
      "display_name": "Gitea Actions / runner / deploy tooling",
      "owner_agent": "hermes",
      "risk_tier": "high",
      "cadence": "weekly_runner_health + triggered_on_ci_failure",
      "decision_policy": "只產 workflow/runner owner packet；不得修改 workflow 或自動 merge。",
      "current_authority": "L2_approval_package_only"
    },
    {
      "domain_id": "backup_dr_tooling",
      "display_name": "Backup / DR / restore tooling",
      "owner_agent": "openclaw",
      "risk_tier": "critical",
      "cadence": "weekly_backup_freshness + monthly_restore_readiness",
      "decision_policy": "只整理 restore drill 與 escrow readiness；不得刪備份、restore 或 prune。",
      "current_authority": "L2_approval_package_only"
    }
  ],
  "update_proposals": [
    {
      "proposal_id": "ai_agent_market_primary_source_radar",
      "domain_id": "ai_agents_models",
      "display_name": "AI Agent 市場主流版本雷達",
      "owner_agent": "nemotron",
      "priority": "P2",
      "risk_tier": "high",
      "status": "proposal_ready_owner_review_required",
      "summary": "持續把 OpenClaw、Hermes、NemoTron 與市場主流 Agent/SDK/MCP/A2A 能力放入 scorecard；只產生候選與差距，不切換 provider。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_market_radar_readback_2026-06-26.json",
        "docs/evaluations/ai_technology_radar_readback_2026-06-26.json"
      ],
      "approval_gate": "market_replay_shadow_canary_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "primary source freshness readback",
        "candidate scorecard replay fixture",
        "成本/延遲/安全/可觀測性欄位完整性檢查"
      ],
      "rollback_plan": [
        "維持 incumbent route",
        "撤回候選標籤",
        "保留舊 scorecard 作為比較基線"
      ],
      "blocked_runtime_actions": [
        "provider route switch",
        "paid API call",
        "OpenClaw replacement"
      ],
      "telegram_policy": "action_required_digest_draft_only"
    },
    {
      "proposal_id": "openclaw_challenger_replay_bench",
      "domain_id": "ai_agents_models",
      "display_name": "OpenClaw challenger replay 評測台",
      "owner_agent": "openclaw",
      "priority": "P1",
      "risk_tier": "critical",
      "status": "blocked_until_replay_shadow_canary_evidence",
      "summary": "建立可讓 NemoTron 或其他 challenger 用相同任務集比較仲裁品質的 replay 評測台；未完成 shadow/canary 前不得替換 OpenClaw。",
      "evidence_refs": [
        "docs/HARD_RULES.md",
        "docs/evaluations/ai_provider_route_matrix_2026-06-04.json"
      ],
      "approval_gate": "market_replay_shadow_canary_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "sanitized historical task replay",
        "shadow decision disagreement review",
        "canary stop condition table"
      ],
      "rollback_plan": [
        "OpenClaw remains arbitration default",
        "disable challenger route flag",
        "archive failed challenger scorecard"
      ],
      "blocked_runtime_actions": [
        "OpenClaw replacement",
        "production routing",
        "runtime agent arbitration switch"
      ],
      "telegram_policy": "critical_owner_review_draft_only"
    },
    {
      "proposal_id": "python_dependency_authority_alignment",
      "domain_id": "backend_python_packages",
      "display_name": "Python dependency authority 對齊",
      "owner_agent": "hermes",
      "priority": "P2",
      "risk_tier": "high",
      "status": "action_required_dependency_packet",
      "summary": "把 API Python manifest、套件風險、測試矩陣與 rollback plan 收成一份 owner packet；本階段不安裝、不升級。",
      "evidence_refs": [
        "docs/evaluations/dependency_supply_chain_drift_monitor_2026-06-18.json",
        "apps/api/pyproject.toml"
      ],
      "approval_gate": "dependency_upgrade_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "pytest target matrix",
        "API smoke plan",
        "dependency conflict review"
      ],
      "rollback_plan": [
        "restore previous lock snapshot",
        "revert dependency PR branch",
        "rerun API smoke"
      ],
      "blocked_runtime_actions": [
        "package upgrade",
        "lockfile write",
        "workflow trigger"
      ],
      "telegram_policy": "failure_or_owner_action_draft_only"
    },
    {
      "proposal_id": "frontend_pnpm_freshness_plan",
      "domain_id": "frontend_javascript_packages",
      "display_name": "前端 pnpm / Next.js 新鮮度計畫",
      "owner_agent": "hermes",
      "priority": "P3",
      "risk_tier": "medium",
      "status": "proposal_ready_owner_review_required",
      "summary": "整理前端套件、i18n、瀏覽器煙測與 build/typecheck gate，低中風險也先形成可審核草案。",
      "evidence_refs": [
        "apps/web/package.json",
        "apps/web/pnpm-lock.yaml",
        "docs/evaluations/dependency_supply_chain_drift_monitor_2026-06-18.json"
      ],
      "approval_gate": "dependency_upgrade_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "pnpm typecheck",
        "eslint target files",
        "desktop/mobile governance smoke"
      ],
      "rollback_plan": [
        "revert package update branch",
        "restore previous lockfile",
        "re-run production smoke after deploy marker"
      ],
      "blocked_runtime_actions": [
        "package upgrade",
        "lockfile write",
        "auto merge"
      ],
      "telegram_policy": "weekly_digest_draft_only"
    },
    {
      "proposal_id": "container_digest_sbom_pin_packet",
      "domain_id": "container_images",
      "display_name": "Container digest / SBOM pin 批准包",
      "owner_agent": "openclaw",
      "priority": "P2",
      "risk_tier": "high",
      "status": "blocked_until_sbom_and_image_gate",
      "summary": "為 base image 與 runtime image 建立 digest pin、SBOM、漏洞摘要與部署煙測計畫；不 pull/build/push image。",
      "evidence_refs": [
        "docs/evaluations/dependency_supply_chain_drift_monitor_2026-06-18.json",
        "docs/evaluations/docker_build_surface_inventory_2026-06-04.json"
      ],
      "approval_gate": "container_sbom_digest_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "SBOM source plan",
        "image digest diff review",
        "deployment smoke plan"
      ],
      "rollback_plan": [
        "retain previous image digest",
        "revert manifest proposal",
        "block rollout until smoke passes"
      ],
      "blocked_runtime_actions": [
        "image pull",
        "docker build",
        "registry push"
      ],
      "telegram_policy": "critical_image_digest_draft_only"
    },
    {
      "proposal_id": "k3s_skew_maintenance_window_packet",
      "domain_id": "k3s_kubernetes_components",
      "display_name": "K3s version skew 維護窗批准包",
      "owner_agent": "openclaw",
      "priority": "P1",
      "risk_tier": "critical",
      "status": "blocked_until_maintenance_window",
      "summary": "將 K3s/Kubernetes skew policy、節點順序、備援與煙測列成批准包；不得 kubectl、drain、restart。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_host_stateful_version_inventory_2026-06-11.json",
        "https://kubernetes.io/releases/version-skew-policy/"
      ],
      "approval_gate": "k3s_version_skew_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "version skew table",
        "node-by-node maintenance sequence",
        "public route smoke plan"
      ],
      "rollback_plan": [
        "pause node sequence",
        "restore previous control-plane state",
        "run post-check readback"
      ],
      "blocked_runtime_actions": [
        "kubectl command",
        "node drain",
        "k3s upgrade"
      ],
      "telegram_policy": "critical_owner_review_draft_only"
    },
    {
      "proposal_id": "host_os_security_maintenance_packet",
      "domain_id": "host_os_packages",
      "display_name": "Host OS 安全維護窗批准包",
      "owner_agent": "openclaw",
      "priority": "P1",
      "risk_tier": "critical",
      "status": "blocked_until_host_maintenance_window",
      "summary": "把 OS/kernel/Nginx/OpenSSH 更新變成維護窗提案；本階段只用既有 inventory，不 SSH、不 apt、不 reboot。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_host_stateful_version_inventory_2026-06-11.json",
        "docs/runbooks/K3S-OPTIMIZATION-RUNBOOK.md"
      ],
      "approval_gate": "host_maintenance_window_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "host impact matrix",
        "pre-change backup check",
        "post-change service smoke plan"
      ],
      "rollback_plan": [
        "maintenance abort condition",
        "service restore sequence",
        "owner communication plan"
      ],
      "blocked_runtime_actions": [
        "host command",
        "os package upgrade",
        "reboot"
      ],
      "telegram_policy": "critical_owner_review_draft_only"
    },
    {
      "proposal_id": "stateful_backup_first_upgrade_packet",
      "domain_id": "stateful_services",
      "display_name": "Stateful backup-first 升級批准包",
      "owner_agent": "openclaw",
      "priority": "P1",
      "risk_tier": "critical",
      "status": "blocked_until_backup_and_restore_evidence",
      "summary": "PostgreSQL/Redis/MinIO/Harbor/Gitea 更新前先要求備份新鮮度、restore drill 與資料相容性；不 restart、不 migration。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_host_stateful_version_inventory_2026-06-11.json",
        "docs/evaluations/backup_dr_readiness_matrix_2026-06-04.json"
      ],
      "approval_gate": "stateful_backup_restore_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "backup freshness readback",
        "restore drill owner packet",
        "data compatibility smoke"
      ],
      "rollback_plan": [
        "restore snapshot selection",
        "service-level rollback owner",
        "read-only consistency check"
      ],
      "blocked_runtime_actions": [
        "stateful restart",
        "database migration",
        "restore execution"
      ],
      "telegram_policy": "critical_owner_review_draft_only"
    },
    {
      "proposal_id": "observability_agentops_stack_freshness",
      "domain_id": "observability_stack",
      "display_name": "AgentOps 觀測堆疊新鮮度",
      "owner_agent": "hermes",
      "priority": "P3",
      "risk_tier": "medium",
      "status": "proposal_ready_owner_review_required",
      "summary": "追蹤 Prometheus、Alertmanager、Grafana、OTEL、Sentry 與 GenAI telemetry 更新，只產相容性矩陣與告警降噪提案。",
      "evidence_refs": [
        "docs/evaluations/observability_contract_matrix_2026-06-04.json",
        "docs/evaluations/service_health_gap_matrix_2026-06-04.json"
      ],
      "approval_gate": "workflow_runner_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "alert route compatibility matrix",
        "dashboard readback smoke",
        "noise reduction acceptance criteria"
      ],
      "rollback_plan": [
        "retain previous alert route",
        "disable candidate dashboard flag",
        "restore previous receiver policy"
      ],
      "blocked_runtime_actions": [
        "alert route write",
        "workflow write",
        "production write"
      ],
      "telegram_policy": "failure_only_digest_draft"
    },
    {
      "proposal_id": "telegram_bot_gateway_policy_refresh",
      "domain_id": "telegram_bot_gateway",
      "display_name": "Telegram Bot / Gateway policy refresh",
      "owner_agent": "hermes",
      "priority": "P2",
      "risk_tier": "high",
      "status": "blocked_until_no_send_receipt_gate",
      "summary": "把日報、週報、月報與 action-required 告警收斂成 no-send digest、receipt readback 與 owner review；不得實發 Telegram。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_telegram_action_required_digest_policy_2026-06-04.json",
        "docs/evaluations/ai_agent_report_live_delivery_approval_package_2026-06-04.json"
      ],
      "approval_gate": "telegram_gateway_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "sanitized message preview",
        "dedup key review",
        "receipt readback dry-run"
      ],
      "rollback_plan": [
        "mute candidate digest type",
        "restore previous no-send policy",
        "owner-visible failure receipt"
      ],
      "blocked_runtime_actions": [
        "Telegram direct send",
        "Gateway queue write",
        "Bot API call"
      ],
      "telegram_policy": "no_send_owner_review_required"
    },
    {
      "proposal_id": "mcp_rag_tool_registry_freshness",
      "domain_id": "mcp_rag_tool_registry",
      "display_name": "MCP / RAG / tool registry 新鮮度",
      "owner_agent": "nemotron",
      "priority": "P3",
      "risk_tier": "medium",
      "status": "proposal_ready_owner_review_required",
      "summary": "整理 MCP server、RAG memory、tool permission 與 redaction policy 版本差異；不得啟用新外部工具或寫入記憶。",
      "evidence_refs": [
        "docs/evaluations/ai_agent_proactive_operations_contract_2026-06-11.json",
        "docs/evaluations/ai_agent_interaction_learning_proof_2026-06-04.json"
      ],
      "approval_gate": "mcp_rag_tool_registry_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "tool permission matrix",
        "RAG retention and redaction review",
        "sandbox replay for tool-call changes"
      ],
      "rollback_plan": [
        "remove candidate tool from registry draft",
        "retain previous memory contract",
        "mark replay pack rejected"
      ],
      "blocked_runtime_actions": [
        "new external tool activation",
        "memory write",
        "paid external service"
      ],
      "telegram_policy": "weekly_digest_draft_only"
    },
    {
      "proposal_id": "gitea_runner_deploy_tooling_refresh",
      "domain_id": "ci_cd_runner_tools",
      "display_name": "Gitea runner / deploy tooling refresh",
      "owner_agent": "hermes",
      "priority": "P2",
      "risk_tier": "high",
      "status": "blocked_until_workflow_owner_packet",
      "summary": "整理 Gitea runner、deploy marker、workflow attestation 與 smoke gate 更新提案；不得改 workflow、建立 PR 或 auto merge。",
      "evidence_refs": [
        "docs/evaluations/gitea_workflow_runner_health_2026-06-04.json",
        "docs/LOGBOOK.md"
      ],
      "approval_gate": "workflow_runner_owner_review",
      "requires_owner_approval": true,
      "direct_update_allowed": false,
      "auto_execution_allowed": false,
      "validation_plan": [
        "runner attestation readback",
        "deploy marker verification plan",
        "public smoke route list"
      ],
      "rollback_plan": [
        "keep previous workflow",
        "pause candidate deploy marker",
        "manual owner review before merge"
      ],
      "blocked_runtime_actions": [
        "workflow write",
        "PR creation",
        "auto merge"
      ],
      "telegram_policy": "deployment_failure_digest_draft_only"
    }
  ],
  "cadence_matrix": [
    {
      "cadence_id": "daily_repo_manifest_readback",
      "frequency": "daily",
      "scope": "repo-only manifests and committed snapshots",
      "allowed_now": true,
      "owner_agent": "hermes",
      "output": "只讀差異摘要與過期來源標記"
    },
    {
      "cadence_id": "weekly_primary_source_market_review",
      "frequency": "weekly",
      "scope": "AI Agent / SDK / MCP / RAG primary source review",
      "allowed_now": false,
      "owner_agent": "nemotron",
      "output": "外部來源批准包，未批准不得 live lookup"
    },
    {
      "cadence_id": "weekly_dependency_supply_chain_review",
      "frequency": "weekly",
      "scope": "dependency, image, SBOM, license, CVE proposal",
      "allowed_now": false,
      "owner_agent": "hermes",
      "output": "dependency owner packet"
    },
    {
      "cadence_id": "monthly_host_k3s_maintenance_review",
      "frequency": "monthly",
      "scope": "host OS, kernel, K3s, Kubernetes skew",
      "allowed_now": false,
      "owner_agent": "openclaw",
      "output": "maintenance window proposal"
    },
    {
      "cadence_id": "monthly_stateful_backup_restore_review",
      "frequency": "monthly",
      "scope": "PostgreSQL, Redis, MinIO, Harbor, Gitea, backup/restore",
      "allowed_now": false,
      "owner_agent": "openclaw",
      "output": "backup-first approval package"
    },
    {
      "cadence_id": "triggered_critical_security_or_eol_review",
      "frequency": "triggered",
      "scope": "critical vulnerability, EOL, runner failure, delivery failure",
      "allowed_now": false,
      "owner_agent": "openclaw",
      "output": "urgent owner review packet"
    }
  ],
  "approval_gate_matrix": [
    {
      "gate_id": "market_replay_shadow_canary_review",
      "risk_tier": "critical",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "market scorecard",
        "sanitized replay fixture",
        "shadow/canary stop conditions",
        "cost and latency comparison"
      ]
    },
    {
      "gate_id": "dependency_upgrade_owner_review",
      "risk_tier": "high",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "manifest diff",
        "test matrix",
        "rollback branch plan"
      ]
    },
    {
      "gate_id": "container_sbom_digest_owner_review",
      "risk_tier": "high",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "SBOM plan",
        "digest diff",
        "deployment smoke"
      ]
    },
    {
      "gate_id": "host_maintenance_window_owner_review",
      "risk_tier": "critical",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "maintenance window",
        "affected hosts",
        "rollback owner",
        "service smoke"
      ]
    },
    {
      "gate_id": "k3s_version_skew_owner_review",
      "risk_tier": "critical",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "version skew policy",
        "node sequence",
        "cluster health readback"
      ]
    },
    {
      "gate_id": "stateful_backup_restore_owner_review",
      "risk_tier": "critical",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "backup freshness",
        "restore drill",
        "data compatibility"
      ]
    },
    {
      "gate_id": "telegram_gateway_owner_review",
      "risk_tier": "high",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "sanitized preview",
        "dedup key",
        "receipt dry-run"
      ]
    },
    {
      "gate_id": "workflow_runner_owner_review",
      "risk_tier": "high",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "runner attestation",
        "workflow diff",
        "deploy smoke plan"
      ]
    },
    {
      "gate_id": "mcp_rag_tool_registry_review",
      "risk_tier": "medium",
      "owner_approval_required": true,
      "auto_execute_allowed": false,
      "required_evidence": [
        "tool permission matrix",
        "retention policy",
        "redaction review"
      ]
    }
  ],
  "telegram_digest_contract": {
    "status": "draft_only_no_send",
    "direct_send_allowed": false,
    "gateway_queue_write_allowed": false,
    "bot_api_call_allowed": false,
    "success_noise_suppression": true,
    "draft_outputs": [
      "日報版本候選摘要",
      "週報市場與依賴漂移摘要",
      "月報維護窗與高風險 gate 摘要",
      "action-required owner review 草稿"
    ],
    "redaction_required": true
  },
  "runtime_boundaries": {
    "read_only_update_proposal_allowed": true,
    "schedule_activation_allowed": false,
    "external_market_lookup_allowed": false,
    "external_registry_lookup_allowed": false,
    "external_cve_lookup_allowed": false,
    "package_upgrade_allowed": false,
    "lockfile_write_allowed": false,
    "host_upgrade_allowed": false,
    "os_package_upgrade_allowed": false,
    "kernel_upgrade_allowed": false,
    "k3s_upgrade_allowed": false,
    "kubectl_command_allowed": false,
    "node_drain_allowed": false,
    "reboot_allowed": false,
    "stateful_restart_allowed": false,
    "database_migration_allowed": false,
    "image_pull_allowed": false,
    "docker_build_allowed": false,
    "registry_push_allowed": false,
    "workflow_write_allowed": false,
    "pr_creation_allowed": false,
    "auto_merge_allowed": false,
    "provider_route_switch_allowed": false,
    "openclaw_replacement_allowed": false,
    "paid_api_call_allowed": false,
    "secret_read_allowed": false,
    "telegram_direct_send_allowed": false,
    "telegram_gateway_queue_write_allowed": false,
    "production_write_allowed": false,
    "conversation_transcript_display_allowed": false
  },
  "rollups": {
    "domain_count": 12,
    "proposal_count": 12,
    "cadence_count": 6,
    "approval_gate_count": 9,
    "read_only_proposal_count": 12,
    "approval_required_count": 12,
    "critical_candidate_count": 4,
    "high_candidate_count": 5,
    "false_runtime_boundary_count": 29,
    "auto_execution_allowed_count": 0,
    "telegram_direct_send_count": 0,
    "telegram_gateway_queue_write_count": 0,
    "production_write_count": 0,
    "update_allowed_count": 0,
    "domain_ids": [
      "ai_agents_models",
      "backend_python_packages",
      "backup_dr_tooling",
      "ci_cd_runner_tools",
      "container_images",
      "frontend_javascript_packages",
      "host_os_packages",
      "k3s_kubernetes_components",
      "mcp_rag_tool_registry",
      "observability_stack",
      "stateful_services",
      "telegram_bot_gateway"
    ],
    "proposal_ids": [
      "ai_agent_market_primary_source_radar",
      "container_digest_sbom_pin_packet",
      "frontend_pnpm_freshness_plan",
      "gitea_runner_deploy_tooling_refresh",
      "host_os_security_maintenance_packet",
      "k3s_skew_maintenance_window_packet",
      "mcp_rag_tool_registry_freshness",
      "observability_agentops_stack_freshness",
      "openclaw_challenger_replay_bench",
      "python_dependency_authority_alignment",
      "stateful_backup_first_upgrade_packet",
      "telegram_bot_gateway_policy_refresh"
    ]
  },
  "next_actions": [
    {
      "task_id": "P2-414",
      "priority": "P2",
      "owner_agent": "hermes",
      "summary": "把日報、週報、月報的版本生命週期欄位與 P2-413 proposal queue 對齊。",
      "gate": "report_schema_update_no_send"
    },
    {
      "task_id": "P2-415",
      "priority": "P1",
      "owner_agent": "openclaw",
      "summary": "設計 OpenClaw challenger replay bench 的 sanitized task set 與評分欄位。",
      "gate": "market_replay_shadow_canary_review"
    },
    {
      "task_id": "P2-416",
      "priority": "P2",
      "owner_agent": "nemotron",
      "summary": "把 MCP/RAG/tool registry 的保留、遮罩與權限欄位轉成 owner packet。",
      "gate": "mcp_rag_tool_registry_review"
    },
    {
      "task_id": "P2-417",
      "priority": "P1",
      "owner_agent": "openclaw",
      "summary": "建立 host/K3s/stateful 維護窗批准包的 owner review readback。",
      "gate": "maintenance_window_owner_review"
    }
  ]
}
