# AI Agent 自動化工作清單與細化分析報告

> 日期：2026-06-04（台北時間）
> 文件定位：執行工作清單、進度看板、狀態同步面板。
> 事實邊界：架構規則仍以 `docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md` 為準；OpenClaw 替換關卡仍以 `docs/HARD_RULES.md` 與 `docs/runbooks/OPENCLAW-REPLACEMENT-EVALUATION.md` 為準。

## 1. 目前完成度

| 範圍 | 完成度 | 狀態 | 證據 |
|---|---:|---|---|
| Agent 市場治理 | 72% | 進行中 | `agent_market_governance_snapshot_v1`、API、UI 分頁、每週觀察流程 |
| Nemotron 實際整合應用 | 30% | 完整回放前仍被關卡擋下 | `blocked_needs_evidence`，下一關是 `refresh_source_evidence_then_5_record_smoke_only` |
| 工具 / 服務 / 套件 AI 自動化 | 92% | P0 已完成；P1 服務 / runtime / 監控 / provider / service health / 備份 / DR / 套件與供應鏈只讀基線已完成；P1-007 失敗限定通知合約與前端 redaction 合約已完成；下一主線是 P2-004 依賴 / 供應鏈漂移監控 | 狀態分類、盤點 schema、權限矩陣、靜態盤點種子、只讀 API、UI 骨架、驗證、自動化待辦 schema / 快照 / API / 分組 UI、Backup / DR 目標盤點、準備度矩陣、備份通知政策、Backup / DR 證據 UI、復原演練批准包模板、異地 / escrow 準備度狀態、任務批准邊界、確定性進度彙總、Python 套件 / 供應鏈只讀基線、JS pnpm/npm 只讀基線、Docker build surface 只讀基線、CVE / license / drift 嚴重度政策、定期依賴漂移與外部資料來源檢查設計、依賴升級批准包模板、runtime_surface_inventory_v1 schema / snapshot / API / UI、gitea_workflow_runner_health_v1 schema / snapshot / API / UI、observability_contract_matrix_v1 schema / snapshot / API / UI、ai_provider_route_matrix_v1 schema / snapshot / API / UI、service_health_gap_matrix_v1 schema / snapshot / API / UI、service health evidence cards UI、service_health_failure_notification_policy_v1 schema / snapshot / API / UI 已完成 |
| OpenClaw / Hermes / NemoTron 佈建布局 | 45% | P1-401 / P1-402 已完成；仍是只讀 layout 與治理頁顯示，不是 runtime deploy | `ai_agent_deployment_layout_v1` schema、`ai_agent_deployment_layout_2026-06-11.json`、`GET /api/v1/agents/agent-deployment-layout`、治理頁自動化盤點 UI、`AI_AGENT_DEPLOYMENT_LAYOUT_2026-06-11.md` |
| OpenClaw / Hermes / NemoTron 主動溝通、學習與成長證據 | 100% | P2-401A 已完成只讀 contract；P2-403A 已完成互動 / 接手 / 學習 / 成長證據面板；P2-403B 已完成 AgentSession / Redis Streams live read model gate；P2-403C 已完成 Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate；P2-403D 已完成 learning writeback approval package；P2-403E 已完成 Telegram receipt approval package；P2-403F 已完成 owner-approved learning dry-run preview、人工操作選項與 fixture-only dry-run 總包；P2-403G 已完成 runtime write gate review，固定雙重批准、dry-run hash、post-write verifier 與 redaction 欄位；P2-403H 已完成 post-write verifier implementation package、rollback lane、failure lane 與人工操作選項；P2-403I 已完成 runtime verifier evidence implementation review；P2-403J 已完成報表真相、告警有效性、日報、週報、月報、每個 Agent 工作量、圖表化報告、AI 分析建議與高 / 中 / 低風險自動化政策審查；P2-403K 已完成本地程式層 SRE 戰情室路由收斂；P2-403L 已完成報表派送、Telegram Gateway queue、讀報回執、AI 讀報後分析、中低風險自動處理與高風險審核的啟動前閘門。runtime worker、DB migration、production Redis consumer group、Telegram 實發、delivery receipt E2E、report delivery、Gateway queue write、AI analysis runtime、中低風險 auto worker、KM / PlayBook trust / timeline / replay score 寫入、SDK / 付費服務仍未開 gate | `ai_agent_communication_learning_contract_v1`、`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`ai_agent_learning_writeback_approval_package_v1`、`ai_agent_telegram_receipt_approval_package_v1`、`ai_agent_owner_approved_learning_dry_run_v1`、`ai_agent_owner_approved_fixture_dry_run_v1`、`GET /api/v1/agents/agent-communication-learning-contract`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package`、`GET /api/v1/agents/agent-telegram-receipt-approval-package`、`GET /api/v1/agents/agent-owner-approved-learning-dry-run`、`GET /api/v1/agents/agent-owner-approved-fixture-dry-run`、`ai_agent_runtime_write_gate_review_v1`、`GET /api/v1/agents/agent-runtime-write-gate-review`、`ai_agent_post_write_verifier_package_v1`、`GET /api/v1/agents/agent-post-write-verifier-package`、`ai_agent_runtime_verifier_evidence_review_v1`、`GET /api/v1/agents/agent-runtime-verifier-evidence-review`、`ai_agent_report_truth_actionability_review_v1`、`GET /api/v1/agents/agent-report-truth-actionability-review`、`ai_agent_report_automation_review_v1`、`GET /api/v1/agents/agent-report-automation-review`、`ai_agent_report_runtime_readiness_v1`、`GET /api/v1/agents/agent-report-runtime-readiness`、`/zh-TW/governance?tab=automation-inventory`、MASTER §3.2.1b / §3.2.1d / §3.4.3 |
| AI Agent 主動營運委派與版本生命週期 | 100% | P2-402A / P2-402B / P2-402C / P2-402D / P2-402E / P2-402F / P2-402G 已完成；已建立 repo-only 版本新鮮度快照、工具採用批准包、Telegram action-required digest policy、Gitea PR 草案 lane、host / K3s / stateful 版本只讀盤點、API 與 governance UI。定期排程、外部版本查詢、工具安裝、CI 變更、套件升級、主機更新、container pull、實際 PR creation、auto merge、Telegram 實發、SSH、kubectl、重啟仍未開 gate | `ai_agent_proactive_operations_contract_v1`、`ai_agent_version_freshness_snapshot_v1`、`ai_agent_tool_adoption_approval_package_v1`、`ai_agent_telegram_action_required_digest_policy_v1`、`ai_agent_gitea_pr_draft_lane_v1`、`ai_agent_host_stateful_version_inventory_v1`、`GET /api/v1/agents/agent-proactive-operations-contract`、`GET /api/v1/agents/agent-version-freshness-snapshot`、`GET /api/v1/agents/agent-tool-adoption-approval-package`、`GET /api/v1/agents/agent-telegram-action-required-digest-policy`、`GET /api/v1/agents/agent-gitea-pr-draft-lane`、`GET /api/v1/agents/agent-host-stateful-version-inventory`、`/zh-TW/governance?tab=automation-inventory`、MASTER §3.2.1c |
| 本工作清單與分析報告 | 100% | 已完成 | 本 MD 文件 |

AI Agent 自動化工作包目前完成度：**92%**。本工作清單文件本身完成度：**100%**。

三 Agent 佈建布局目前完成度：**45%**。第一波已完成只讀 schema / snapshot / API / 測試 / 報告，第二波已接入治理頁自動化盤點 UI；正式 runtime 佈署、Telegram E2E 發送與 AgentSession 工作流仍需逐項 gate。

三 Agent 主動溝通、學習與成長證據目前完成度：**100%**。已完成只讀契約、互動 / 接手 / 學習 / 成長證據面板、P2-403B live read model gate、P2-403C Redis dry-run gate、P2-403D learning writeback approval package、P2-403E Telegram receipt approval package、P2-403F owner-approved learning dry-run preview、人工操作選項與 fixture-only dry-run 總包、P2-403G runtime write gate review、P2-403H post-write verifier implementation package、P2-403I runtime verifier evidence implementation review、P2-403J 報表真相 / 告警有效性 / 日週月報 / Agent 工作量 / 圖表化報告 / AI 建議 / 風險自動化政策審查、P2-403K SRE 戰情室路由程式收斂，以及 P2-403L 報表派送 / Telegram queue / 讀報回執 / AI 讀報分析 / 中低風險自動處理 / 高風險審核啟動前閘門、API、治理頁顯示、測試與 MASTER 同步；目前 live AgentSession、Agent message、handoff、learning write、Telegram receipt、Gateway queue write、runtime verifier execution、report delivery、AI analysis runtime、中低風險 auto worker、Telegram 實發與 delivery receipt E2E 仍全部為 `0`，下一步依優先順序推 `P2-403M` no-write dry-run / SRE 戰情室 Gateway queue 草案 / readback verifier，但在批准前仍不得啟動 runtime loop。

AI Agent 主動營運委派與版本生命週期目前完成度：**100%**。已完成 12 類版本 domain、24 類可委派能力、5 種 cadence、8 類 MCP、4 類 RAG memory、只讀 API、`P2-402B` repo-only daily version freshness snapshot、`P2-402C` Renovate / OSV-Scanner / Trivy / Syft / Grype 工具採用批准包、`P2-402D` Telegram action-required digest policy、`P2-402E` Gitea PR 草案 lane、`P2-402F` host OS / K3s / stateful services 版本只讀盤點，以及 `P2-402G` governance UI 顯示可委派能力；`P2-403A` 到 `P2-403L` 已先補互動、學習證據面、live read model gate、Redis dry-run gate、learning writeback approval package、Telegram receipt approval package、owner-approved learning dry-run preview、runtime write gate review、post-write verifier package、runtime verifier evidence review、報表真相、TG 戰情室收斂、日週月報、Agent 工作量、圖表化報告、風險自動化政策與報表 runtime 啟動前閘門。下一步是 `P2-403M` no-write dry-run / SRE 戰情室 Gateway queue 草案 / readback verifier，外部 registry / package source / host probe / SSH / kubectl / 工具安裝 / CI 變更 / 實際 PR creation / Telegram 實發與 learning write 仍需 gate。

完成度計算模型：

```text
整體完成度 =
  治理框架 20%
  資產盤點 15%
  自動化待辦 API/UI 15%
  監控與備份自動化 20%
  套件與供應鏈自動化 10%
  安全執行關卡 10%
  生產驗證 10%
```

## 2. 不可跨越的治理邊界

| 邊界 | 規則 |
|---|---|
| OpenClaw | 目前仍是生產決策核心；是否替換、拆分或降級，必須由市場主流證據 + AWOOOI 回放 / shadow / canary 實測證明。 |
| Nemotron | 目前只能作為離線專家 / 評估者；必須先通過 smoke、回放、升級關卡。 |
| Hermes | 適合 governance、規則品質、runbook、KM、噪音分析與報告整理。 |
| SDK 安裝 | 必須明確批准。 |
| 付費 API | 必須有費用與資料邊界批准。 |
| Shadow / Canary | 必須通過升級關卡並取得明確批准。 |
| 生產路由 | 必須有 ADR、回滾路徑、明確批准。 |
| 破壞性操作 | 必須人工批准；dry-run 與回滾計畫是必要條件。 |
| 備份通知 | 預設只通知失敗 / 需要處置；不得成功訊息洗版。 |

## 3. Agent 分工模型

| Agent | 主要角色 | 目前允許 | 需關卡 / 批准後才可做 |
|---|---|---|---|
| OpenClaw | 生產仲裁者與 HITL 守門者 | 判斷風險、仲裁執行提案、維持生產核心 | 無證據替換、降級或刪除 |
| Nemotron | 離線評估者與專家 | smoke / 回放分析、模型與工具能力比較、候選評分 | 付費 API、SDK 安裝、shadow/canary、生產路由 |
| Hermes | 治理與知識專家 | 規則品質分析、runbook/KM 更新、降噪、報告彙整 | 直接改生產環境 |
| LangGraph 候選 | 持久化工作流核心候選 | 確定性工作流回放、未來編排設計 | 官方 SDK 整合、shadow/canary |
| OpenAI Agents SDK 候選 | 協調 / 編排候選 | 離線評分表、回放 adapter | SDK/API 使用、生產路由 |
| Claude Agent SDK 候選 | DevOps / 程式修復專家 | 離線修復評分、patch plan 批判 | SDK/API 使用、未經 OpenClaw/HITL 的執行 |
| CrewAI / ADK / Microsoft 候選 | 次級或平台候選 | 觀察 / 回放準備度、能力評分表 | 生產執行 |

### 3.1 OpenClaw / Hermes / NemoTron 佈建布局（P1-401）

| 項目 | 狀態 |
|---|---|
| 佈建布局 schema | 已完成：`docs/schemas/ai_agent_deployment_layout_v1.schema.json` |
| 佈建布局 snapshot | 已完成：`docs/evaluations/ai_agent_deployment_layout_2026-06-11.json` |
| 只讀 API | 已完成：`GET /api/v1/agents/agent-deployment-layout` |
| 細化報告 | 已完成：`docs/ai/AI_AGENT_DEPLOYMENT_LAYOUT_2026-06-11.md` |
| 前端治理 UI | 已完成：P1-402，治理頁自動化盤點 tab 已顯示佈建布局、主責 Agent、Telegram policy、批准/阻擋狀態 |
| Telegram 三 Agent lane E2E | 待辦：P1-403，必須沿用 Gateway / ADR-035，不允許 Agent 直接發送 |
| AgentSession / Redis Streams runtime loop | 待辦：P2-401，需 migration / worker gate |
| 主動溝通與學習契約 | 已完成：P2-401A，`ai_agent_communication_learning_contract_v1` + `GET /api/v1/agents/agent-communication-learning-contract` |
| 主動營運委派與版本生命週期契約 | 已完成：P2-402A，`ai_agent_proactive_operations_contract_v1` + `GET /api/v1/agents/agent-proactive-operations-contract` |
| 互動、接手、學習與成長證據面 | 已完成：P2-403A + P2-403B + P2-403C + P2-403D + P2-403E + P2-403F + P2-403G + P2-403H，`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package`、`GET /api/v1/agents/agent-telegram-receipt-approval-package`、`GET /api/v1/agents/agent-post-write-verifier-package` + governance UI；live count 仍為 0 |
| NemoTron 3 Ultra smoke | 待辦：P3-401，需 source refresh + cost/data approval |

## 4. 工作流總覽

| ID | 工作流 | 目標 | 目前狀態 | 目標狀態 |
|---|---|---|---|---|
| WS0 | 治理與狀態追蹤 | 建立權威待辦與完成度模型 | 本檔已建立 | 每個階段更新狀態 |
| WS1 | 資產盤點 | 列出服務 / 工具 / 套件 / 備份目標 | 分散在 docs 與 scripts | 可查詢快照與 UI |
| WS2 | 自動化待辦 | 把風險轉成 AI 可處理工作項目 | 尚未統一 | API/UI 看板，含負責者與關卡 |
| WS3 | 監控自動化 | 監控服務、工具、套件、備份健康 | 已有多個腳本 / exporter | 統一健康矩陣 |
| WS4 | 備份與 DR 自動化 | 驗證備份新鮮度、完整性、復原演練準備度 | 已有腳本 / runbook | Agent 可讀的準備度關卡 |
| WS5 | 套件與供應鏈自動化 | 偵測依賴漂移、CVE、建置風險 | 部分文件化 | 定期套件風險掃描 |
| WS6 | 配置優化 | 資源、路由、告警、成本、模型配置建議 | 多數仍手動 | 先做只讀建議 |
| WS7 | 安全執行關卡 | dry-run、批准、回滾、稽核 | 部分存在 | 每類操作都有權限模型 |
| WS8 | 產品 UI | 在治理 / AwoooP 顯示上述狀態 | Agent 市場分頁已完成 | 自動化駕駛艙 |

## 5. 優先順序定義

| 優先級 | 定義 | 目標時程 | 執行規則 |
|---|---|---:|---|
| P0 | 更廣泛自動化前的必要基礎 | 0-2 天 | 依序完成；除非已批准，不做生產寫入 |
| P1 | 核心產品價值與安全面 | 3-7 天 | P0 綠燈後再做 |
| P2 | 優化與規模化 | 1-3 週 | 核心流程可見後再做 |
| P3 | 進階或實驗性能力 | 之後 | 需要證據、批准或穩定基準 |

## 6. 狀態分類與進度公式（P0-002 已完成）

### 6.1 任務狀態

| 狀態 | 說明 | 可否進下一步 |
|---|---|---|
| `planned` | 已列入計畫，但尚未開始 | 否 |
| `in_progress` | 正在執行 | 否 |
| `blocked` | 被關卡、缺證據、缺批准或環境阻擋 | 否 |
| `ready_for_review` | 已完成實作，等待驗證或人工 review | 視關卡而定 |
| `done` | 已驗證並完成 | 是 |
| `deferred` | 明確延後，非目前 wave | 否 |
| `rejected` | 不符合邊界或被證據否決 | 否 |

### 6.2 關卡狀態

| 關卡狀態 | 說明 |
|---|---|
| `read_only_allowed` | 只讀盤點、報告、UI 顯示允許 |
| `dry_run_required` | 必須先 dry-run |
| `approval_required` | 需要人工批准 |
| `cost_approval_required` | 需要費用批准 |
| `dependency_approval_required` | 需要新依賴 / SDK 批准 |
| `production_change_blocked` | 禁止生產變更 |
| `shadow_canary_blocked` | 禁止 shadow / canary |
| `blocked_by_evidence` | 證據不足或未通過 |
| `ready_for_operator_review` | 可提交 operator review，但不代表已批准 |

### 6.3 完成度公式

```text
任務完成度 =
  0：planned / deferred / rejected
  25：in_progress 且已有初步產物
  50：核心產物完成但未驗證
  75：驗證通過但尚未同步文件 / UI / LOGBOOK
  100：產物、驗證、文件、狀態同步都完成
```

## 7. 資產盤點 Schema 規格（P0-003 已完成）

正式 JSON Schema：

- `docs/schemas/ai_agent_automation_inventory_snapshot_v1.schema.json`

Schema 目標：

| 區塊 | 用途 |
|---|---|
| `program_status` | 整體完成度、目前優先級、目前任務、下一任務 |
| `status_taxonomy` | 任務狀態、關卡狀態、優先級定義 |
| `agent_roles` | OpenClaw / Hermes / Nemotron / 其他候選 Agent 分工 |
| `asset_domains` | 服務 / 工具 / 套件 / 備份目標等領域 |
| `assets` | 每個服務、工具、套件、備份目標的狀態與關卡 |
| `workstreams` | WS0-WS8 的分流狀態 |
| `tasks` | P0/P1/P2/P3 的具體 work item |
| `evidence` | schema / 測試 / 瀏覽器 / API / 建置證據 |
| `approval_boundaries` | SDK、付費 API、生產路由、shadow/canary 等邊界 |

## 8. 操作權限矩陣（P0-004 已完成）

正式 JSON Schema：

- `docs/schemas/ai_agent_action_permission_matrix_v1.schema.json`

### 8.1 權限層級

| 權限層級 | 定義 |
|---|---|
| `allowed_read_only` | 可自動做只讀盤點、查詢、證據彙整與 UI 顯示。 |
| `allowed_prepare_only` | 可自動準備提案、報告、批准包與 PR 草稿，但不可套用變更。 |
| `requires_openclaw_arbitration` | 必須交由 OpenClaw 仲裁風險與下一關卡。 |
| `requires_human_approval` | 必須人工批准後才可執行。 |
| `requires_cost_approval` | 涉及費用、外部 API、呼叫頻率、token 上限時必須費用批准。 |
| `requires_dependency_approval` | 涉及新增 SDK、套件、服務、runner 或 infra component 時必須依賴批准。 |
| `blocked` | 預設阻擋；只能重做證據或改成更低風險工作。 |

### 8.2 操作類別矩陣

| 操作類別 | OpenClaw | Hermes | Nemotron | 預設關卡 | 自動執行 |
|---|---|---|---|---|---|
| 觀察 / 盤點 | 允許只讀 | 允許只讀 | 只允許離線 / sanitized 輸入 | `read_only_allowed` | 可 |
| 健康診斷 | 仲裁嚴重度 | 彙整證據 | 離線比較 pattern | `read_only_allowed` | 可 |
| 修復建議 | 仲裁風險 | 起草說明 | 提供離線評分 | `requires_openclaw_arbitration` | 可產生提案，不可套用 |
| dry-run | 仲裁與要求證據 | 彙整 dry-run 結果 | 離線評估結果品質 | `dry_run_required` | 只限已批准的只讀 / dry-run 工具 |
| 生產寫入 | 只可在批准後仲裁 | 不可 | 不可 | `approval_required` | 不可 |
| 回滾 | 只可在批准後仲裁 | 起草回滾計畫 | 不可 | `approval_required` | 不可 |
| 破壞性操作 | 不可自動批准 | 不可 | 不可 | `approval_required` | 不可 |
| 備份健康檢查 | 仲裁 action-required | 彙整備份證據 | 非主要角色 | `read_only_allowed` | 可 |
| restore 演練 | 仲裁演練風險 | 起草演練批准包 | 可離線檢查計畫 | `approval_required` | 不可 |
| 依賴掃描 | 仲裁風險 | 彙整套件 / CVE 證據 | 可離線比較 | `read_only_allowed` | 可 |
| 依賴升級 | 仲裁風險 | 起草升級批准包 | 可離線評分 | `dependency_approval_required` | 不可 |
| SDK 安裝 | 仲裁但不自動批准 | 可起草批准包 | 不可自行安裝 | `dependency_approval_required` | 不可 |
| 付費 API 呼叫 | 仲裁但不自動批准 | 可起草費用包 | 不可自行呼叫 | `cost_approval_required` | 不可 |
| shadow / canary | 仲裁 gate readiness | 彙整證據 | 只可作候選評分 | `shadow_canary_blocked` | 不可 |
| 生產路由 | 仲裁 ADR 與回滾路徑 | 彙整 ADR 證據 | 不可 | `production_change_blocked` | 不可 |

### 8.3 不可自動跨越的紅線

- 任何生產寫入、回滾、restore、破壞性操作，都必須人工批准。
- 任何 SDK 安裝、付費 API、外部模型呼叫頻率增加，都必須先有費用 / 依賴 / 資料邊界批准。
- 任何 shadow / canary / 生產路由變更，都必須先通過 OpenClaw 替換評估關卡與統帥批准。
- Nemotron、Hermes、其他候選 Agent 的輸出只能當作證據或專家建議；不得自行成為生產決策核心。

## 9. 細化工作清單

### P0-005 靜態盤點種子摘要

靜態盤點種子：

- `docs/evaluations/ai_agent_automation_inventory_snapshot_2026-06-04_static_seed.json`

覆蓋範圍：

- 服務：AWOOOI API、Web、Worker、K8s 工作負載、PostgreSQL、Redis。
- AI Provider：AI Router、OpenClaw、Nemotron 候選。
- 工作流程：Gitea Actions 與 market watch。
- 可觀測性：Prometheus、Alertmanager、SigNoz、ClickHouse、Sentry。
- 安全鏈路：Telegram 告警與批准鏈路。
- 備份目標：Gitea、Harbor、公開路由、異地同步與 escrow。
- 套件：API Python、Web pnpm/npm、Docker base image。

此快照是只讀種子，不代表 live runtime 驗證完成；P0-006 會先建立只讀 API 讀取它，P1 才逐步補 runtime / browser / API 證據。

### P0-006 只讀 API 摘要

API：

- `GET /api/v1/agents/automation-inventory-snapshot`

實作邊界：

- 只讀取 committed JSON snapshot。
- 不呼叫外部來源。
- 不碰 DB / Redis。
- 不批准 SDK 安裝、付費 API、shadow / canary、生產路由或破壞性操作。
- 端點輸出必須維持 `approval_boundaries.* = false`。

### P0-007 / P0-008 UI 與驗證摘要

UI：

- `/zh-TW/governance?tab=automation-inventory`

驗證：

- API 目標測試 `5 passed`。
- web typecheck 通過。
- targeted ESLint 通過。
- i18n JSON parse 通過。
- 桌面瀏覽器：無載入錯誤，`scrollWidth 1028 <= viewport 1034`。
- 390px mobile：無載入錯誤，`scrollWidth 390 <= viewport 390`。

### P1-301 自動化待辦 Schema 摘要

正式 JSON Schema：

- `docs/schemas/ai_agent_automation_backlog_v1.schema.json`

Schema 目標：

- 把資產盤點、健康缺口、備份缺口、依賴漂移、市場訊號、批准邊界轉成可排序的 backlog item。
- 每個 item 必須帶 priority、status、workstream、source asset、signal kind、owner agent、action class、gate、risk、evidence、acceptance criteria。
- 預設只讀；`approval_boundaries.*` 必須維持 `false`。

### P1-302 自動化待辦快照摘要

正式 JSON Snapshot：

- `docs/evaluations/ai_agent_automation_backlog_2026-06-04.json`

快照內容：

- 總項目：`20`
- P1：`18`、P2：`1`、P3：`1`
- 只讀允許：`17`
- 生產變更阻擋：`1`
- 費用批准需求：`1`
- 證據不足阻擋：`1`

優先推進：

- P1-303：建立自動化待辦只讀 API。已完成。
- P1-304：建立分組 UI 看板。已完成。
- P1-101：備份 / DR 目標盤點。已完成。
- P1-102：備份準備度矩陣。已完成。
- P1-201：Python 套件 / 供應鏈基線。已完成。
- P1-202：Web pnpm/npm 套件盤點。已完成。
- P1-203：Docker base image 與 build surface 盤點。已完成。
- P1-204：CVE / license / drift 嚴重度政策。已完成。
- P1-205：定期依賴漂移與外部資料來源檢查設計。已完成。
- P1-206：依賴升級、digest pin、publish boundary 批准包模板。已完成。
- P1-103：備份通知政策。已完成。
- P1-104：Backup / DR 證據 UI。已完成。
- P1-105：復原演練批准包模板。已完成。

### P1-303 自動化待辦只讀 API 摘要

API：

- `GET /api/v1/agents/automation-backlog-snapshot`

實作邊界：

- 只讀取 committed backlog snapshot。
- 不呼叫外部來源。
- 不碰 DB / Redis。
- 不批准 SDK 安裝、付費 API、shadow / canary、生產路由或破壞性操作。
- 端點輸出必須維持 `approval_boundaries.* = false`。

### P1-304 自動化待辦分組 UI 摘要

UI：

- `/zh-TW/governance?tab=automation-inventory`

實作邊界：

- 同時讀取 inventory snapshot 與 backlog snapshot。
- 顯示整體進度、待辦總數、P1 待辦數、P1/P2/P3 分組、owner、gate、next review 與第一條 acceptance criteria。
- 不新增批准、執行、回滾、provider 切換或 shadow/canary 操作按鈕。

驗證：

- desktop browser：`84%`、`P1-304`、`P1-101`、`自動化待辦`、`AUTO-P1-303`、`AUTO-P1-304` 命中，無載入錯誤，`scrollWidth 1028 <= viewport 1034`。
- 390px mobile：`84%`、`P1-304`、`P1-101`、`自動化待辦`、`AUTO-P1-303`、`AUTO-P1-304` 命中，無載入錯誤，`scrollWidth 390 <= viewport 390`。
- 頁面 button 僅有搜尋、語言切換、分頁與 Omni-Terminal 入口，沒有批准或執行操作按鈕。

### P1-101 Backup / DR 目標盤點摘要

正式 JSON Schema：

- `docs/schemas/backup_dr_target_inventory_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/backup_dr_target_inventory_2026-06-04.json`

API：

- `GET /api/v1/agents/backup-dr-target-inventory`

快照內容：

- 總目標：`17`
- active：`14`
- blocked：`2`，分別是 `configs_capture` 與 `credential_escrow_markers`
- deferred：`1`，Sentry 需等服務 active 後再評估

實作邊界：

- 只讀取 committed JSON snapshot。
- 不執行備份、不執行 restore、不執行 offsite sync、不寫 credential marker、不改排程、不做 destructive prune。
- 舊備份腳本若含 credential 字串，新快照只記 `secret_policy` 與 evidence ref，不複製 secret 值。
- restore / escrow / offsite sync 全部維持人工批准邊界。

驗證：

- Backup / DR schema 驗證通過。
- Backup / DR service + API tests `7 passed`。
- automation inventory / backlog / backup-dr API 合併測試 `18 passed`。

### P1-102 Backup / DR 準備度矩陣摘要

正式 JSON Schema：

- `docs/schemas/backup_dr_readiness_matrix_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/backup_dr_readiness_matrix_2026-06-04.json`

API：

- `GET /api/v1/agents/backup-dr-readiness-matrix`

矩陣內容：

- 總目標：`17`
- ready：`12`
- action_required：`2`，分別是 `signoz` 與 `velero_k8s_resources`
- blocked：`2`，分別是 `configs_capture` 與 `credential_escrow_markers`
- deferred：`1`，Sentry 需等服務 active 後再評估

實作邊界：

- 只讀取 committed JSON snapshot。
- 不執行備份、不執行 restore、不執行 offsite sync、不寫 credential marker、不改排程、不做 destructive prune。
- restore drill 狀態可顯示 `approval_required`，但不可被 Agent 自動執行。

驗證：

- Backup / DR readiness schema 驗證通過。
- Backup / DR readiness service + API tests `7 passed`。

### P1-201 Python 套件 / 供應鏈基線摘要

正式 JSON Schema：

- `docs/schemas/package_supply_chain_inventory_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/package_supply_chain_inventory_2026-06-04.json`

API：

- `GET /api/v1/agents/package-supply-chain-inventory`

盤點內容：

- 總表面：`10`
- Python：`6`
- JavaScript：`2`，P1-201 時標記為 `planned_next`；P1-202 已另建立 JS 基線。
- Docker：`2`，P1-201 時標記為 `planned_next`；P1-203 已另建立 Docker build surface 基線。
- action_required：`2`，分別是 `apps_api_pyproject` 與 `apps_api_requirements`。
- 已標出 `api_python_manifest_drift`：`apps/api/pyproject.toml` 與 `apps/api/requirements.txt` 不一致。
- 已標出 `python_no_lockfile`：Python 依賴目前以 range constraints 為主，未發現 lockfile。

實作邊界：

- 只讀取 repo 內 manifest、lockfile 與 Dockerfile。
- 不安裝依賴、不升級套件、不寫 lockfile、不查外部 CVE、不重建 image、不改生產路由。
- JS 套件與 Docker base image 在 P1-201 只作為下一步表面列入；P1-202 / P1-203 已分別完成只讀基線。

驗證：

- 套件 / 供應鏈 schema 驗證通過。
- 套件 / 供應鏈 service + API tests `7 passed`。
- `py_compile` 通過。

### P1-202 Web pnpm/npm 套件基線摘要

正式 JSON Schema：

- `docs/schemas/javascript_package_inventory_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/javascript_package_inventory_2026-06-04.json`

API：

- `GET /api/v1/agents/javascript-package-inventory`

盤點內容：

- Workspace importer：`6`
- Direct dependencies：`51`
- Production dependencies：`20`
- Dev dependencies：`31`
- Workspace dependencies：`6`
- External dependencies：`45`
- pnpm lockfile：`lockfileVersion=9.0`
- lockfile package entries：`986`
- lockfile snapshot entries：`986`
- manifest / lockfile drift：`0 missing`、`0 mismatch`、`0 extra`
- action_required：`2`，分別是 `apps_web` 與 `shared_types`。

實作邊界：

- 只讀取 `package.json`、`pnpm-workspace.yaml` 與 `pnpm-lock.yaml`。
- 不執行 `pnpm install`、不安裝套件、不升級套件、不寫 lockfile、不執行 `npm audit`、不查外部 CVE、不改生產路由。
- 本輪只建立 repo 內事實基線；P1-204 已定義 CVE / license / drift 嚴重度，P1-205 已建立 version freshness 與外部資料來源 cadence 設計，未批准前不得查詢。

驗證：

- JavaScript 套件 schema 驗證通過。
- JavaScript 套件 service + API tests `9 passed`。
- `py_compile` 通過。

### P1-203 Docker build surface 基線摘要

正式 JSON Schema：

- `docs/schemas/docker_build_surface_inventory_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/docker_build_surface_inventory_2026-06-04.json`

API：

- `GET /api/v1/agents/docker-build-surface-inventory`

盤點內容：

- Dockerfile：`2`
- External image refs：`3`
- FROM instructions：`6`
- COPY --from external image：`1`
- Digest-pinned images：`0`
- Tag-pinned images：`3`
- Build-time network fetches：`4`
- Non-root runtime：`2`
- HEALTHCHECK：`1`
- action_required：`2`，分別是 `api_dockerfile` 與 `web_dockerfile`。

主要風險：

- API / Web base image 皆未 digest-pinned。
- API build 以 curl 下載 `kubectl v1.29.0`，尚未定義 checksum / signature policy。
- API build 會 `apt-get` / `curl`；Web build 會 `corepack prepare` / `pnpm install`，外部來源與 cache policy 尚未定義。
- Web runtime stage 沒有 Dockerfile `HEALTHCHECK`，需對齊 K8s probe contract。

實作邊界：

- 只讀取 `apps/api/Dockerfile`、`apps/web/Dockerfile` 與相關 manifest。
- 不執行 `docker build`、不 pull image、不 push registry、不查外部 CVE、不安裝套件、不改生產路由。
- P1-204 已定義 image rebuild、digest pin、checksum、registry push 風險政策；P1-206 已產生批准包模板，實際執行仍需人工批准。

驗證：

- Docker build surface schema 驗證通過。
- Docker build surface service + API tests `8 passed`。
- `py_compile` 通過。

### P1-204 CVE / license / drift 嚴重度政策摘要

正式 JSON Schema：

- `docs/schemas/dependency_risk_policy_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/dependency_risk_policy_2026-06-04.json`

API：

- `GET /api/v1/agents/dependency-risk-policy`

政策內容：

- 嚴重度規則：`12`
- critical：`1`
- high：`5`
- medium：`5`
- low：`1`
- action_required：`8`
- planned_next：`3`
- accepted：`1`

核心裁決：

- CVE / advisory / license database 查詢仍未批准；P1-204 只建立政策與批准邊界。
- OpenClaw 負責 critical / high 風險仲裁與批准包判定。
- Hermes 負責 read-only drift、freshness、manifest / Dockerfile 證據彙整。
- Nemotron 可作離線比較與專家建議，不得接手生產裁決、SDK 安裝、shadow / canary 或生產路由。
- Python manifest drift、Python reproducibility gap、JS caret range、shared-types publish boundary、Docker digest pin、kubectl checksum、build-time network fetch、Web healthcheck gap 都已標為 action_required。

實作邊界：

- 不查外部 CVE / advisory。
- 不查外部 license database。
- 不安裝或升級套件。
- 不寫 lockfile。
- 不執行 `npm audit` 或 `pnpm install`。
- 不執行 `docker build`、不 pull image、不 rebuild image、不 push registry。
- 不呼叫付費 API。
- 不建立 shadow / canary。
- 不改生產路由。

驗證：

- Dependency risk policy schema 驗證通過。
- Dependency risk policy service + API tests `9 passed`。
- `py_compile` 通過。

### P1-205 定期依賴漂移與外部資料來源檢查設計摘要

正式 JSON Schema：

- `docs/schemas/dependency_drift_check_plan_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/dependency_drift_check_plan_2026-06-04.json`

API：

- `GET /api/v1/agents/dependency-drift-check-plan`

設計內容：

- Cadence items：`5`
- Repo-only local checks：`5`
- 外部來源候選：`10`
- 外部來源候選涵蓋 CVE、license、PyPI / npm registry freshness、Docker / GHCR manifest freshness、AI Agent 官方 release / benchmark signal。
- AI Agent 市場監控已納入同一個來源批准模型；Nemotron 仍只做 committed snapshot freshness 與離線比較，不做替換裁決。

核心裁決：

- P1-205 只建立 read-only design，不啟用排程。
- Local checks 可設計為 repo-only：Python manifest drift、JS lockfile drift、Dockerfile surface drift、dependency policy consistency、agent market snapshot freshness。
- 外部 CVE / license / registry / Agent market 來源全部維持 approval_required。
- 成功檢查預設不即時通知；失敗、schema mismatch、來源過期、rate-limit exhaustion、成本邊界不明或 high/critical policy hit 才通知 AwoooP / Telegram。

實作邊界：

- 不啟用排程。
- 不寫 Gitea workflow。
- 不查外部 CVE / advisory。
- 不查外部 license database。
- 不查外部 registry 或 Agent market 來源。
- 不安裝 SDK、不呼叫付費 API。
- 不安裝或升級套件。
- 不寫 lockfile。
- 不執行 `docker build`、不 pull image、不 rebuild image、不 push registry。
- 不建立 shadow / canary。
- 不改生產路由。

驗證：

- Dependency drift check plan schema 驗證通過。
- Dependency drift check plan service + API tests `9 passed`。
- `py_compile` 通過。

### P1-206 依賴升級批准包模板摘要

正式 JSON Schema：

- `docs/schemas/dependency_upgrade_approval_package_template_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/dependency_upgrade_approval_package_template_2026-06-04.json`

API：

- `GET /api/v1/agents/dependency-upgrade-approval-package-template`

模板內容：

- 批准包模板：`8`
- Python：`2`
- JavaScript：`2`
- Docker：`3`
- External sources / Agent market：`1`
- 8 類模板全部要求 OpenClaw 仲裁與 HITL。

覆蓋範圍：

- Python manifest authority。
- Python lockfile / constraints policy。
- JavaScript high-impact dependency upgrade。
- shared-types publish boundary。
- Docker base image digest pin。
- Docker binary checksum / signature。
- Docker build-time network source policy。
- CVE / license / registry / AI Agent market external source activation。

實作邊界：

- 不安裝或升級套件。
- 不寫 manifest / lockfile / Dockerfile。
- 不執行 `docker build`、不 pull image、不 rebuild image、不 push registry。
- 不 publish package。
- 不啟用外部來源。
- 不安裝 SDK、不呼叫付費 API。
- 不建立 shadow / canary。
- 不改生產路由。

驗證：

- Dependency upgrade approval package template schema 驗證通過。
- Dependency upgrade approval package template service + API tests `9 passed`。
- `py_compile` 通過。

### P1-103 備份通知政策摘要

正式 JSON Schema：

- `docs/schemas/backup_notification_policy_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/backup_notification_policy_2026-06-04.json`

API：

- `GET /api/v1/agents/backup-notification-policy`

政策內容：

- 通知規則：`8`
- 成功即時抑制：`2`
- failure / warning / core blocker 立即升級：`4`
- action-required：`2`
- 每日摘要時間：台北時間 `06:05`

核心裁決：

- 成功備份與 offsite verify 成功不即時發 Telegram / AwoooP，避免洗版。
- 成功證據由 Prometheus / textfile、`backup-status.sh --no-notify` 與每日摘要承載。
- warning、failed、core blocker、offsite verify failure 必須升級到 AwoooP / Telegram 並帶 evidence。
- credential escrow marker 缺口與 metric binding gap 只建立 action-required；不得自動寫 marker 或改 Prometheus rule。

實作邊界：

- 不送通知。
- 不執行 backup / restore / offsite sync。
- 不寫 credential marker。
- 不改排程、不寫 workflow。
- 不發 Telegram 測試訊息。

驗證：

- Backup notification policy schema 驗證通過。
- Backup notification policy service + API tests `9 passed`。
- `py_compile` 通過。

### P1-104 Backup / DR 證據 UI 摘要

正式 UI：

- `/zh-TW/governance?tab=automation-inventory`

接入只讀 API：

- `GET /api/v1/agents/backup-dr-target-inventory`
- `GET /api/v1/agents/backup-dr-readiness-matrix`
- `GET /api/v1/agents/backup-notification-policy`

顯示內容：

- Backup / DR 目標：`17`
- Ready：`12`
- 需處置：`2`
- 阻擋：`2`
- 成功即時抑制：`2`
- failure / warning / core blocker 立即升級：`4`
- 通知規則：`8`

核心裁決：

- UI 只顯示備份目標、readiness matrix、通知政策、關鍵 blocker 與 evidence ref。
- `configs_capture` 與 `credential_escrow_markers` 仍為 blocked，不得宣稱完整 DR 綠燈。
- `signoz` 顯示 disruptive backup guard；Agent 不得任意觸發會短暫停止 collector 的備份。
- 成功備份仍不即時送 Telegram / AwoooP；成功狀態由每日摘要與查詢承載。
- warning、failed、action-required、core blocker 才能進即時升級。

實作邊界：

- 不執行 backup。
- 不執行 restore。
- 不執行 offsite sync。
- 不寫 credential marker。
- 不改排程、不寫 workflow。
- 不發 Telegram 測試訊息。

驗證：

- `pnpm --filter @awoooi/web exec tsc --noEmit --tsBuildInfoFile /tmp/awoooi-p1-104-backup-evidence.tsbuildinfo` 通過。
- 本地 desktop `/zh-TW/governance?tab=automation-inventory&_v=p1-104-backup-evidence-local`：Backup / DR 證據、準備度矩陣、通知政策、成功抑制、即時升級、Gitea 與 SignOz disruptive guard 可見；無載入錯誤；`horizontalOverflow=-6`。
- 本地 390px mobile `/zh-TW/governance?tab=automation-inventory&_v=p1-104-backup-evidence-local`：Backup / DR 證據、準備度矩陣、通知政策、成功抑制、即時升級、Gitea 與 SignOz disruptive guard 可見；無載入錯誤；`horizontalOverflow=-6`。
- 截圖：`/tmp/awoooi-p1-104-backup-evidence-local-desktop.png`、`/tmp/awoooi-p1-104-backup-evidence-local-mobile.png`。

### P1-105 復原演練批准包模板摘要

正式 JSON Schema：

- `docs/schemas/backup_restore_drill_approval_package_template_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/backup_restore_drill_approval_package_template_2026-06-05.json`

API：

- `GET /api/v1/agents/backup-restore-drill-approval-package-template`

模板內容：

- 批准包模板：`6`
- database restore：`1`
- configuration restore：`1`
- credential escrow：`1`
- K8s resource restore：`1`
- observability restore：`1`
- route reconstruction：`1`
- blocked source targets：`configs_capture`、`credential_escrow_markers`
- action-required source targets：`signoz`、`velero_k8s_resources`

核心裁決：

- P1-105 只產生 restore drill / escrow review / route reconstruction 的批准包模板，不授權任何實際 restore。
- 6 類模板全部要求 OpenClaw 仲裁與 HITL；Hermes 可起草，Nemotron 只可離線檢查 sanitized 演練計畫完整性。
- `configs_capture` 與 `credential_escrow_markers` 仍為 blocked；`signoz` 與 `velero_k8s_resources` 仍為 action_required，不得被 UI 或 API 解讀為 ready。
- 每個批准包都必須列出 operator、維護窗口、source backup ref、target environment、blast radius、precheck evidence、abort criteria、rollback 與 post-verification。

實作邊界：

- 不執行 backup。
- 不執行 restore。
- 不執行 offsite sync。
- 不寫 credential marker。
- 不改排程、不寫 workflow。
- 不發 Telegram 測試訊息。
- 不輸出 secret 明文。
- 不做 destructive prune。
- 不呼叫付費 API、不建立 shadow / canary、不改生產路由。

驗證：

- `python3 -m json.tool docs/schemas/backup_restore_drill_approval_package_template_v1.schema.json` 通過。
- `python3 -m json.tool docs/evaluations/backup_restore_drill_approval_package_template_2026-06-05.json` 通過。
- `PYTHONDONTWRITEBYTECODE=1 apps/api/.venv/bin/python -m pytest apps/api/tests/test_backup_restore_drill_approval_package_template.py apps/api/tests/test_backup_restore_drill_approval_package_template_api.py -q`：`11 passed`。
- `python3 -m py_compile apps/api/src/services/backup_restore_drill_approval_package_template.py apps/api/src/api/v1/agents.py apps/api/tests/test_backup_restore_drill_approval_package_template.py apps/api/tests/test_backup_restore_drill_approval_package_template_api.py` 通過。

### P1-106 異地 / Escrow 準備度狀態摘要

正式 JSON Schema：

- `docs/schemas/offsite_escrow_readiness_status_v1.schema.json`

正式 JSON Snapshot：

- `docs/evaluations/offsite_escrow_readiness_status_2026-06-05.json`

API：

- `GET /api/v1/agents/offsite-escrow-readiness-status`

UI：

- `/zh-TW/governance?tab=automation-inventory`

狀態內容：

- 狀態卡：`3`
- 異地已驗證：`1`，`offsite_rclone_full_sync`
- 需處置：`1`，`velero_k8s_resources`
- Escrow 阻擋：`1`，`credential_escrow_markers`
- 執行阻擋：`3`

核心裁決：

- P1-106 只顯示異地 / escrow readiness，不批准 offsite sync、restore、credential marker write 或 secret read。
- `offsite_rclone_full_sync` 可顯示 verified，但 sync execution 仍 blocked；成功不即時送 Telegram / AwoooP 洗版。
- `credential_escrow_markers` 必須維持 blocked；UI 只能顯示 redacted marker metadata 與 evidence refs，不得顯示 token、password、private key、cookie、authorization header、runner token、webhook secret、rclone credential 或 secret payload value。
- `velero_k8s_resources` 必須維持 action_required；restore drill 仍需 OpenClaw 仲裁與 HITL。
- P1-106 UI 可見不得被 Agent 或 operator 解讀為完整 DR 綠燈。

實作邊界：

- 不執行 backup。
- 不執行 restore。
- 不執行 offsite sync。
- 不寫 credential marker。
- 不讀 credential。
- 不輸出 secret 明文。
- 不改排程、不寫 workflow。
- 不發 Telegram 測試訊息。
- 不做 destructive prune。
- 不改生產路由。

驗證：

- `python3 -m json.tool docs/schemas/offsite_escrow_readiness_status_v1.schema.json` 通過。
- `python3 -m json.tool docs/evaluations/offsite_escrow_readiness_status_2026-06-05.json` 通過。
- `python3 -m json.tool docs/evaluations/ai_agent_automation_inventory_snapshot_2026-06-04_static_seed.json` 通過。
- `python3 -m json.tool docs/evaluations/ai_agent_automation_backlog_2026-06-04.json` 通過。
- `python3 -m json.tool apps/web/messages/zh-TW.json apps/web/messages/en.json` 通過。
- `PYTHONDONTWRITEBYTECODE=1 /Users/ogt/awoooi/apps/api/.venv/bin/python -m pytest apps/api/tests/test_offsite_escrow_readiness_status.py apps/api/tests/test_offsite_escrow_readiness_status_api.py apps/api/tests/test_ai_agent_automation_inventory_snapshot.py apps/api/tests/test_ai_agent_automation_inventory_snapshot_api.py apps/api/tests/test_ai_agent_automation_backlog_snapshot.py apps/api/tests/test_ai_agent_automation_backlog_snapshot_api.py -q`：`21 passed`。
- `python3 -m py_compile apps/api/src/services/offsite_escrow_readiness_status.py apps/api/src/api/v1/agents.py apps/api/tests/test_offsite_escrow_readiness_status.py apps/api/tests/test_offsite_escrow_readiness_status_api.py apps/api/tests/test_ai_agent_automation_inventory_snapshot_api.py apps/api/tests/test_ai_agent_automation_backlog_snapshot_api.py` 通過。
- `/Users/ogt/awoooi/apps/web/node_modules/.bin/tsc --noEmit --tsBuildInfoFile /tmp/awoooi-p1-106-offsite-escrow-readiness-after-ff2.tsbuildinfo -p apps/web/tsconfig.json` 在 clean worktree 透過既有 node_modules toolchain 通過，不執行 `pnpm install`、不改 lockfile。
- `NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 SENTRY_SUPPRESS_GLOBAL_ERROR_HANDLER_FILE_WARNING=1 pnpm --filter @awoooi/web build` 通過；`/zh-TW/governance` First Load JS `381 kB`。
- `python3 scripts/security/source-control-owner-response-guard.py --root .`：`SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK`。
- `python3 scripts/security/security-mirror-progress-guard.py --root .`：`SECURITY_MIRROR_PROGRESS_GUARD_OK`。
- `git diff --check` 通過。
- Production desktop / 390px mobile browser checks 已完成；最新正式環境重驗以 `bf016e91` 為準：`異地 / Escrow 準備度`、三張 readiness card 與不可誤讀合約可見；`hasErrorText=false`、`horizontalOverflow=0`、overflowing element `0`。截圖：`/tmp/awoooi-p1-106-offsite-escrow-prod-desktop-bf016e91-clean.png`、`/tmp/awoooi-p1-106-offsite-escrow-prod-mobile-bf016e91-clean.png`。

### P0 - 治理與 Inventory 基礎

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P0-001 | 完成 | 100 | Hermes | 建立完整工作清單與分析 MD | `docs/ai/AI_AGENT_AUTOMATION_WORKLIST_2026-06-04.md` | 可提交 operator review |
| P0-002 | 完成 | 100 | Hermes + OpenClaw | 定義自動化狀態分類 | 本文件第 6 節 | 無 runtime 操作 |
| P0-003 | 完成 | 100 | Hermes | 定義資產盤點 schema | `docs/schemas/ai_agent_automation_inventory_snapshot_v1.schema.json` | 只讀 |
| P0-004 | 完成 | 100 | OpenClaw | 定義每類操作的權限矩陣 | 本文件第 8 節與 `docs/schemas/ai_agent_action_permission_matrix_v1.schema.json` | HITL 邊界明確 |
| P0-005 | 完成 | 100 | Hermes | 從 repo / runbook 建立靜態盤點種子 | `docs/evaluations/ai_agent_automation_inventory_snapshot_2026-06-04_static_seed.json` | 不修改 live 環境 |
| P0-006 | 完成 | 100 | OpenClaw | 建立只讀自動化盤點 API | `GET /api/v1/agents/automation-inventory-snapshot` | 只讀端點 |
| P0-007 | 完成 | 100 | Hermes | 建立治理 / AwoooP UI 看板骨架 | `/zh-TW/governance?tab=automation-inventory` | i18n + mobile 檢查 |
| P0-008 | 完成 | 100 | OpenClaw | 補 schema / API / UI 驗證 | API / service tests + browser checks | 不以純 mock 宣稱完成 |

### P1 - 服務與 Runtime 監控

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P1-001 | 完成 | 100 | OpenClaw | 盤點 API / Web / Worker / K8s runtime surface | `runtime_surface_inventory_v1` / `GET /api/v1/agents/runtime-surface-inventory` / 執行面只讀矩陣 | 只讀；不得查 Secret payload、不得 rollout / restart / scale / delete |
| P1-002 | 完成 | 100 | Hermes | 盤點 Gitea 工作流程與 runner 健康合約 | `gitea_workflow_runner_health_v1` / `GET /api/v1/agents/gitea-workflow-runner-health` / Gitea 健康合約 UI | 只讀；不修改 workflow、不重啟 runner、不停止 container、不讀 Secret、不發通知 |
| P1-003 | 完成 | 100 | Hermes | 盤點 Prometheus / Alertmanager / SigNoz / Grafana 監控合約 | `observability_contract_matrix_v1` / `GET /api/v1/agents/observability-contract-matrix` / 監控合約與降噪 UI | 只讀；不修改 alert rules、不改 receiver/route、不建立 silence、不寫 Grafana、不發通知 |
| P1-004 | 完成 | 100 | OpenClaw | 盤點 AI Router / Ollama / Nemotron / Gemini provider 路徑 | `ai_provider_route_matrix_v1` / `GET /api/v1/agents/ai-provider-route-matrix` / AI 供應商路由矩陣 UI | 只讀；不切 provider、不呼叫付費 API、不改 fallback order、不進 shadow/canary |
| P1-005 | 完成 | 100 | OpenClaw | 偵測服務健康缺口與過期端點 | `service_health_gap_matrix_v1` / `GET /api/v1/agents/service-health-gap-matrix` / 服務健康缺口與過期端點 UI | 只讀；不重啟、不改 endpoint、不做 active probe、不發通知 |
| P1-006 | 完成 | 100 | Hermes | 在 UI 顯示 service health 證據卡 | 治理頁 service health evidence cards：主要 evidence ref、狀態、新鮮度、風險與下一步 | 只讀；不 live probe、不重啟、不改 endpoint、不發通知 |
| P1-007 | 完成 | 100 | OpenClaw | 建立 service health 失敗限定 Telegram / AwoooP 對應 | `service_health_failure_notification_policy_v1` / `GET /api/v1/agents/service-health-failure-notification-policy` / 治理頁 failure-only 通知合約與 redaction 狀態 | 成功不洗版；不發通知；前端不顯示工作視窗對話內容、提示詞、session 或瀏覽器上下文 |

### P1 - 備份與 DR 自動化

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P1-101 | 完成 | 100 | Hermes | 把備份 runbook / 腳本轉成機器可讀目標盤點 | `docs/evaluations/backup_dr_target_inventory_2026-06-04.json` | 只讀 |
| P1-102 | 完成 | 100 | OpenClaw | 顯示備份新鮮度、完整性、復原演練狀態 | `docs/evaluations/backup_dr_readiness_matrix_2026-06-04.json` | 不執行 restore |
| P1-103 | 完成 | 100 | Hermes | 對齊備份通知政策 | `docs/evaluations/backup_notification_policy_2026-06-04.json` | 不發成功洗版 |
| P1-104 | 完成 | 100 | OpenClaw | 在 AwoooP / governance UI 加備份證據 | `/zh-TW/governance?tab=automation-inventory` | 只讀 + 瀏覽器驗證 |
| P1-105 | 完成 | 100 | OpenClaw | 定義復原演練批准包 | `docs/evaluations/backup_restore_drill_approval_package_template_2026-06-05.json` | 只讀模板 + 人工批准 |
| P1-106 | 完成 | 100 | Hermes | 顯示異地 / escrow 準備度狀態 | `docs/evaluations/offsite_escrow_readiness_status_2026-06-05.json` + `/zh-TW/governance?tab=automation-inventory` | 不暴露 credential |

### P1 - 套件與供應鏈自動化

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P1-201 | 完成 | 100 | Hermes | 盤點 Python 依賴 | `docs/evaluations/package_supply_chain_inventory_2026-06-04.json` | 只讀 |
| P1-202 | 完成 | 100 | Hermes | 盤點 pnpm/npm 依賴 | `docs/evaluations/javascript_package_inventory_2026-06-04.json` | 只讀 |
| P1-203 | 完成 | 100 | Hermes | 盤點 Docker base image 與建置表面 | `docs/evaluations/docker_build_surface_inventory_2026-06-04.json` | 只讀 |
| P1-204 | 完成 | 100 | OpenClaw | 定義 CVE / license / drift 嚴重度對應 | `docs/evaluations/dependency_risk_policy_2026-06-04.json` | 只讀政策 |
| P1-205 | 完成 | 100 | Hermes | 建立定期依賴漂移檢查 | `docs/evaluations/dependency_drift_check_plan_2026-06-04.json` | 只讀設計 |
| P1-206 | 完成 | 100 | OpenClaw | 產生升級批准包 | `docs/evaluations/dependency_upgrade_approval_package_template_2026-06-04.json` | 只讀模板 |

### P1 - Agent 自動化待辦產品面

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P1-301 | 完成 | 100 | Hermes | 定義自動化待辦 schema | `docs/schemas/ai_agent_automation_backlog_v1.schema.json` | 只讀 |
| P1-302 | 完成 | 100 | OpenClaw | 從盤點 + 健康 + 市場佇列產生待辦 | `docs/evaluations/ai_agent_automation_backlog_2026-06-04.json` | 不執行 |
| P1-303 | 完成 | 100 | Hermes | 建立待辦只讀 API | `GET /api/v1/agents/automation-backlog-snapshot` | 測試 |
| P1-304 | 完成 | 100 | Hermes | 建立 P0/P1/P2/P3 分組 UI 看板 | `/zh-TW/governance?tab=automation-inventory` | i18n + mobile |
| P1-305 | 完成 | 100 | OpenClaw | 顯示每個任務的批准邊界 | `task.approval_boundary` + `/zh-TW/governance?tab=automation-inventory` | 無執行按鈕 |
| P1-306 | 完成 | 100 | Hermes | 顯示進度百分比彙總 | `backlog.progress_summary` + priority / workstream UI | 確定性公式 |

### P2 - 配置優化

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P2-001 | 待辦 | 0 | OpenClaw | K8s requests / limits 建議引擎 | 只讀建議快照 | 不 apply |
| P2-002 | 待辦 | 0 | Hermes | CronJob 排程碰撞分析 | 排程優化報告 | 不改排程 |
| P2-003 | 待辦 | 0 | Hermes | Prometheus 告警噪音調整提案 | 告警規則建議 | 人工批准 |
| P2-004 | 待辦 | 0 | OpenClaw | AI Router / provider 成本與 fallback 優化 | 模型路由建議 | 費用批准 |
| P2-005 | 待辦 | 0 | Nemotron | 針對回放 fixture 做離線模型 / 提示詞 比較 | 模型評分報告 | 未批准不得外部呼叫 |
| P2-006 | 待辦 | 0 | Hermes | 前端 bundle / route 健康建議 | Web 優化報告 | 不做無關 redesign |

### P2 - 安全執行與學習閉環

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P2-401A | 完成 | 100 | Hermes + OpenClaw | 定義 OpenClaw / Hermes / NemoTron 主動溝通、學習、記錄、MCP、RAG 與 redaction 契約 | `ai_agent_communication_learning_contract_v1` / snapshot / 只讀 API / MASTER 同步 | 只讀；不啟動 worker、不 DB migration、不發 Telegram、不安裝 SDK |
| P2-401B | 待辦 | 0 | OpenClaw | AgentSession / Redis Streams migration 與 consumer group runtime gate | migration proposal + rollback plan | DB migration approval |
| P2-401C | 待辦 | 0 | Hermes | MCP Gateway audit matrix：K8s / Prometheus / SigNoz / Sentry / Gitea / Backup / Package / Telegram | MCP 權限與 audit matrix | no-secret read-only smoke |
| P2-401D | 待辦 | 0 | Hermes | RAG Hot / Warm / Cold memory ingestion、dedupe、freshness、redaction policy | RAG 記憶治理提案 | schema migration + owner review |
| P2-401E | 待辦 | 0 | Nemotron | sanitized replay scorer 與 5-record smoke 設計 | NemoTron replay smoke 批准包 | cost / data approval |
| P2-402A | 完成 | 100 | Hermes + OpenClaw + Nemotron | 定義 AI Agent 主動營運委派與版本生命週期：12 類版本 domain、24 類可委派能力、MCP/RAG/Telegram policy | `ai_agent_proactive_operations_contract_v1` / snapshot / 只讀 API / MASTER 同步 | 只讀；不啟用排程、不升級、不 host update、不 pull image、不 auto merge、不發 Telegram |
| P2-402B | 完成 | 100 | Hermes | 建立 repo-only daily version freshness snapshot | `ai_agent_version_freshness_snapshot_v1` / snapshot / 只讀 API / 測試；12 類 repo-only source、5 個 daily step、3 Agent role | 只讀；workflow schedule 未啟用、外部 lookup 未開、不得升級或發 Telegram |
| P2-402C | 完成 | 100 | OpenClaw | 建立 Renovate / OSV-Scanner / Trivy / Syft / Grype 工具採用批准包 | `ai_agent_tool_adoption_approval_package_v1` / snapshot / 只讀 API / 測試；5 工具、5 官方來源、4 採用 lane、6 批准欄位 | 只讀；tool install、CI change、external lookup、vulnerability DB、PR、Telegram 全部未啟用 |
| P2-402D | 完成 | 100 | OpenClaw | 建立 Telegram action-required digest policy | `ai_agent_telegram_action_required_digest_policy_v1` / snapshot / 只讀 API / 測試；8 條 digest rule、3 個 channel 草案、5 類 trigger category、成功降噪與 redaction policy | 只讀；Telegram send、Gateway queue write、route / receiver change、workflow、runtime 全部未啟用 |
| P2-402E | 完成 | 100 | Hermes | 設計 Gitea PR 草案 lane | `ai_agent_gitea_pr_draft_lane_v1` / snapshot / 只讀 API / 測試；6 條 grouping rule、7 個 lane step、9 個 required check、6 條 rollback requirement、4 個 draft template | 只讀；branch push、PR creation、workflow trigger、lockfile、package upgrade、auto merge、Telegram 全部未啟用 |
| P2-402F | 完成 | 100 | OpenClaw | 建立 host OS / K3s / stateful services 版本只讀盤點 | `ai_agent_host_stateful_version_inventory_v1` / snapshot / 只讀 API / 測試；5 台主機、2 個 K3s 節點、12 個 stateful / ops 服務、6 個只讀 probe step、maintenance window approval package | 只讀；SSH、kubectl、apt / K3s upgrade、node drain、reboot、stateful restart、Telegram 全部未啟用 |
| P2-402G | 完成 | 100 | Hermes | 接入 governance UI 顯示可委派能力 | 自主等級、gate、owner、Telegram policy、Host / K3s / stateful 只讀關卡與 redaction 狀態 | 只讀；不顯示敏感端點、不發 Telegram、不提供執行按鈕 |
| P2-403A | 完成 | 100 | Hermes + OpenClaw | 建立 Agent 互動、接手、學習、成長與 Telegram 收據證據面 | `ai_agent_interaction_learning_proof_v1` / snapshot / 只讀 API / governance UI；證據階梯、live truth、Agent lanes、runtime gates、redaction policy | 只讀；live session / message / handoff / learning write / Telegram receipt 目前全為 0；不啟動 worker、不 DB migration、不 Redis consumer、不發 Telegram、不顯示工作對話 |
| P2-403B | 完成 | 100 | OpenClaw + Hermes | AgentSession / Redis Streams live read model 與 worker gate planning | `ai_agent_live_read_model_gate_v1` / snapshot / 只讀 API / governance UI；既有 `agent_sessions` safe fields、Redis envelope、worker gate、rollback plan、無寫入 smoke | DB / Redis approval；live DB query / Redis consumer / worker / Telegram / learning writeback 仍未啟用 |
| P2-403C | 完成 | 100 | Hermes + OpenClaw + Nemotron | Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate | `ai_agent_redis_dry_run_gate_v1` / snapshot / 只讀 API / governance UI；fixture-only dry-run、handoff 必填欄位、idempotency、redacted evidence、ack / dead-letter / replay preconditions | 不連 Redis、不建立 consumer group、不 XADD / XREADGROUP / XACK、不寫 dead-letter、不 runtime replay、不發 Telegram、不 learning writeback |
| P2-403D | 完成 | 100 | Hermes + OpenClaw + Nemotron | Learning writeback approval package、KM / PlayBook trust / timeline learning / replay score gate | `ai_agent_learning_writeback_approval_package_v1` / snapshot / 只讀 API / governance UI；owner review、rollback、redaction、blocked write actions | 不寫 KM、不更新 PlayBook trust、不寫 timeline learning、不寫 replay score、不發 Telegram、不啟動 runtime worker |
| P2-403E | 完成 | 100 | OpenClaw + Hermes | Telegram receipt approval package、queue / delivery / ack / failure / retry gate | `ai_agent_telegram_receipt_approval_package_v1` / snapshot / 只讀 API / governance UI；owner review、delivery correlation、retry、redaction、blocked runtime actions | 不寫 Gateway queue、不呼叫 Bot API、不改 receiver route、不發 Telegram、不啟動 receipt worker |
| P2-403F | 完成 | 100 | Hermes + OpenClaw | Owner-approved learning dry-run preview、人工操作選項與驗證 / rollback gate | `ai_agent_owner_approved_learning_dry_run_v1` / snapshot / 只讀 API / governance UI；dry-run preview 欄位、operator actions、evidence gate、rollback / verification contract | 不產生 live preview、不寫 KM、不更新 PlayBook trust、不寫 timeline / replay score、不發 Telegram |
| P2-403G | 完成 | 100 | OpenClaw | Runtime write gate review、雙重批准、dry-run hash、post-write verifier 與 redaction gate | `ai_agent_runtime_write_gate_review_v1` / snapshot / 只讀 API / governance UI；4 個 write target、4 個 approval gate、9 個必填欄位與 live write total `0` | 不寫 KM、不更新 PlayBook trust、不寫 timeline / replay score、不發 Telegram；runtime write 仍未授權 |
| P2-403H | 完成 | 100 | OpenClaw | Post-write verifier implementation package、rollback lane、failure lane 與人工操作選項 | `ai_agent_post_write_verifier_package_v1` / snapshot / 只讀 API / governance UI；4 個 verification target、3 個 failure lane、4 個 operator action 與 live verifier execution `0` | 不讀 canonical target、不寫 rollback work item、不發 Telegram、不寫 KM / PlayBook trust / timeline / replay score；runtime verifier 仍未授權 |
| P2-403J | 完成 | 100 | Hermes + OpenClaw | 報表真相、告警有效性、日週月報、每個 Agent 工作量、圖表化報告、AI 分析建議與風險自動化政策審查；高風險需審核，中低風險目前只定義 policy | `ai_agent_report_truth_actionability_review_v1` + `ai_agent_report_automation_review_v1` / snapshot / 只讀 API / governance UI；5 個真相缺口、3 個日週月契約、4 個 actionability lane、4 條 TG 旁路風險、3 個報表週期、3 個 Agent 工作量、4 個 chart package、5 個 recommendation | 不發 Telegram、不改 CronJob、不改 Prometheus / Alertmanager、不改 route / receiver、不讀 secret、不寫 work item / KM / PlayBook trust、不開 runtime worker、不排程實發、不啟動中低風險 auto worker、不執行生產優化 |
| P2-403K | 本地完成，正式站待驗證 | 100 | OpenClaw | AwoooI SRE 戰情室路由程式收斂；移除 Gitea / API / ops script 舊群組與 private mirror fallback | Gitea workflow 使用 `SRE_GROUP_CHAT_ID`；CD 舊相容欄位取自 SRE group；Telegram Gateway / notification matrix / jobs / ops scripts SRE-only；CI guard 擋舊 `TELEGRAM_ALERT_CHAT_ID` / `TELEGRAM_CHAT_ID` 與非 SRE direct fallback | 未讀 secret value、未發 Telegram live 測試、未改 Prometheus / Alertmanager route、未開 Gateway queue write / receipt worker / runtime gate |
| P2-403L | 完成 | 86 | OpenClaw + Hermes + NemoTron | 報表派送、Telegram Gateway queue、讀報回執、AI 讀報後分析、中低風險自動處理、高風險審核與 post-action verifier 啟動前閘門 | `ai_agent_report_runtime_readiness_v1` / snapshot / 只讀 API / governance UI；7 個 runtime lane、3 個報表週期 gate、4 個風險政策、7 個 operator decision、SRE 戰情室路由 contract；live delivery / queue write / AI runtime / 中低風險執行全部 `0` | 不排程實發、不寫 Gateway queue、不呼叫 Bot API、不啟動 AI runtime worker、不啟動中低風險 auto worker、不執行生產優化、不讀 secret、不顯示內部對話內容 |
| P2-101 | 待辦 | 0 | OpenClaw | 定義操作類別權限模型 | 操作政策 schema | HITL 關卡 |
| P2-102 | 待辦 | 0 | OpenClaw | 所有候選操作都要有 dry-run 證據 | dry-run 合約 | 不直接 apply |
| P2-103 | 待辦 | 0 | Hermes | 把任務結果接回 KM / LOGBOOK / 稽核軌跡 | 證據寫入器 | 不洩漏 secret |
| P2-104 | 待辦 | 0 | OpenClaw | 修復 `matched_playbook_id` 學習缺口 | playbook trust 更新 | 測試 + live 證據 |
| P2-105 | 待辦 | 0 | OpenClaw | 批准前加入 critic / reviewer 評分 | 多 Agent 評分 | 不自動批准 |

### P3 - 候選 Agent 擴展

| ID | 狀態 | % | 負責 Agent | 任務 | 產出 | 關卡 |
|---|---|---:|---|---|---|---|
| P3-001 | 待辦 | 0 | Nemotron | 刷新 Nemotron 來源證據 | 更新後證據報告 | 僅使用 primary sources |
| P3-002 | 待辦 | 0 | Nemotron | 只重跑 5 筆 smoke | smoke 關卡報告 | 需要時先批准外部呼叫 |
| P3-003 | 待辦 | 0 | Nemotron | smoke 通過後準備 50 筆回放批准包 | 批准包 | 人工批准 |
| P3-004 | 待辦 | 0 | LangGraph | 準備官方 SDK 整合提案 | 依賴 / 費用 / 風險批准包 | SDK 批准 |
| P3-005 | 待辦 | 0 | Claude SDK 候選 | 準備真實 Claude 修復回放提案 | 費用 / 資料邊界批准包 | API 批准 |
| P3-006 | 待辦 | 0 | OpenClaw | 以同輪 OpenClaw 基準比較所有候選 | 替換決策包 | 不改生產環境 |

## 10. 需要覆蓋的資產範圍

### 10.1 服務

- AWOOOI API
- AWOOOI Web
- Worker 與排程器
- K8s Deployment、Service、Ingress、CronJob、ConfigMap、Secret
- AwoooP operator 介面
- AI Router 與 provider adapter
- OpenClaw / Ollama / Nemotron provider 路徑

### 10.2 工具

- Gitea 與 Gitea Actions
- Harbor registry
- Prometheus、Alertmanager、Grafana
- SigNoz / ClickHouse
- Sentry
- Telegram bot / webhook 鏈路
- Langfuse / AI tracing
- Open-WebUI
- MinIO / Velero
- Nginx / Certbot
- Ansible role 與 playbook
- Node exporter / cAdvisor textfile exporter

### 10.3 套件與依賴

- API Python 套件
- Web pnpm/npm 套件
- Docker base image
- K8s image tags
- Agent SDK 候選
- AI provider 模型版本
- 監控 / exporter 腳本

### 10.4 備份與 DR 目標

- Gitea
- Harbor
- AWOOOI PostgreSQL
- MOMO PostgreSQL
- Langfuse
- Monitoring
- SigNoz
- Open-WebUI
- ClawBot Redis
- Sentry
- K8s resources / Velero
- Config 備份
- AI artifacts
- Public route
- 異地同步與 credential escrow

## 11. 自動化能力矩陣

| 能力 | OpenClaw | Hermes | Nemotron | 狀態 |
|---|---|---|---|---|
| 偵測過期的服務健康狀態 | 仲裁嚴重度 | 彙整證據 | 離線比較 pattern | P1 |
| 偵測備份新鮮度失敗 | 仲裁操作等級 | 寫 runbook / KM | 非主要角色 | P1 |
| 偵測依賴漂移 | 判斷風險關卡 | 產生套件報告 | 比較模型 / 工具版本 | P1 |
| 建議 K8s limits | 審查爆炸半徑 | 文件化理由 | 可作離線評估者 | P2 |
| 建議告警調整 | 審查風險邊界 | 分析噪音 / 歷史 | 可作評估者 | P2 |
| 產生批准包 | 最終守門者 | 起草批准包 | 提供專家評分 | P1 |
| 執行生產變更 | 僅批准後可仲裁 | 不可 | 不可 | P3+ |
| 替換生產決策核心 | 無自動權限 | 不可 | 不可 | ADR / canary 前仍阻擋 |

## 12. 進度同步協議

每次階段更新必須包含：

```text
進度：<整體完成度>%。
目前優先級：P<level>。
目前任務：<任務 ID 與標題>。
狀態變更：<舊狀態> -> <新狀態>。
證據：<測試 / 瀏覽器 / schema / API 結果>。
阻擋：<無或關卡>。
下一步：<next task id>。
```

任何完成宣告前，必須同步更新本文件或後續生成的 JSON 快照。

本次同步：

```text
進度：100%。
目前優先級：P1。
目前任務：P1-106 顯示異地 / escrow 準備度狀態。
狀態變更：待辦 -> 完成。
證據：offsite_escrow_readiness_status schema / snapshot JSON parse 通過；service + API + inventory + backlog 目標測試 21 passed；web typecheck / build 通過；API 端點為 GET /api/v1/agents/offsite-escrow-readiness-status；UI 已接入 governance automation inventory tab。
正式站：原 P1-106 deploy marker b9251a32；最新正式環境 deploy marker bf016e91 仍包含 P1-106；production API readback 與 desktop / mobile Browser smoke 通過；P1-106 區塊、三張 readiness card、不可誤讀合約可見；horizontalOverflow=0。
阻擋：無；backup、restore、offsite sync、credential marker、credential read、排程、workflow、Telegram 測試通知、secret 明文、生產路由仍未批准。
下一步：P1-305 / P1-306 補每個任務的批准邊界與進度彙總細節。
```

本次同步：

```text
進度：100%。
目前優先級：P1。
目前任務：P1-306 顯示進度百分比彙總。
狀態變更：P1-305 / P1-306 待辦 -> 完成。
證據：automation inventory schema / snapshot 已新增 task approval_boundary 與 task_approval_boundary_rollup；automation backlog schema / snapshot 已新增 item approval_boundary、item_approval_boundary_rollup 與 progress_summary；治理頁任務卡已顯示允許、禁止與需批准摘要，並新增進度彙總區塊。
目前數字：inventory tasks 26；task read_only_allowed 24；explicit approval tasks 2；backlog total 23；done 16；overall progress 70%；P1 progress 76%。
驗證：JSON 解析通過；zh-TW / en i18n key 差異 0；Python py_compile 通過；automation inventory / backlog 目標 pytest 15 passed；web typecheck 通過；Next production build 通過；source-control-owner-response guard 與 security-mirror-progress guard 通過；git diff --check 通過。
正式驗證：code-review run 3714 success；CD run 3713 success；deploy marker `af3a9d48 chore(cd): deploy 4f0787f [skip ci]`；production API / Web / Worker / Canary image 均為 `4f0787f8694ca9d3a8652eb490e4642a0014b9a7`；production health `healthy/prod/mock_mode=false`；inventory API 回 `current=P1-306`、`next=P1-001`、tasks `26`、read_only_allowed `24`、explicit approval tasks `2`；backlog API 回 overall `70%`、done `16/23`、P1 `76%`；desktop `1440x1000` 與 mobile `390x844` smoke 均 `horizontalOverflow=0`、禁止操作按鈕 `0`。
正式截圖：`/private/tmp/awoooi-automation-inventory-prod-desktop-4f0787f8.png`、`/private/tmp/awoooi-automation-inventory-prod-mobile-4f0787f8.png`。
阻擋：無；所有邊界仍為只讀展示，不新增執行按鈕，不批准生產寫入、付費 API、shadow/canary、破壞性操作或 runtime execution。
下一步：P1-001 盤點 API / Web / Worker / K8s runtime surface。
```

本次同步：

```text
進度：74%。
目前優先級：P1。
目前任務：P1-001 盤點 API / Web / Worker / K8s runtime surface。
狀態變更：待辦 -> 完成。
證據：runtime_surface_inventory_v1 schema / snapshot；GET /api/v1/agents/runtime-surface-inventory；治理頁執行面只讀矩陣；automation backlog 74%；inventory tasks 27。
目前數字：runtime surfaces 22；action_required 6；Secret surfaces 4；live-check gaps 6；source components 9/9；backlog done 17/23；overall 74%；P1 81%。
驗證：JSON parse 通過；runtime surface / inventory / backlog 目標 pytest 23 passed；Python py_compile 通過；zh-TW / en i18n key 差異 0；web typecheck 通過；Next production build 通過；source-control-owner-response guard、security-mirror-progress guard 與 git diff --check 通過；本地 `127.0.0.1:3123` desktop / mobile smoke 通過，七個 agents API 皆 200，`horizontalOverflow=0`，禁止操作按鈕 0。
正式驗證：feature commit `de3007b7 feat(governance): 新增 runtime surface 只讀矩陣` 已推 `gitea main`；code-review run `2595` success；CD run `2594` success，耗時 `7m17s`。後續穩定性 commit `fd33591c fix(web): 穩定治理頁 deep link 與盤點容錯` 已納入；code-review run `2597` success；CD run `2596` success，耗時 `7m27s`；最新正式環境以 deploy marker `8caba233 chore(cd): deploy fd33591 [skip ci]` 為準。production health `healthy/prod/mock_mode=false`；runtime API 回 `schema_version=runtime_surface_inventory_v1`、current `P1-001`、next `P1-002`、surfaces `22`、action_required `6`、Secret surfaces `4`、live-check gaps `6`；backlog API 回 overall `74%`、done `17/23`、P1 `81%`、`AUTO-P1-001=done`；inventory API 回 tasks `27`、read_only_allowed `25`、explicit approval tasks `2`、`P1-001=done/100%`；production desktop `1440x1000` 與 mobile `390x844` smoke 均通過，七個 agents API 皆 `200`，console error `0`，`horizontalOverflow=0`，overflowing elements `0`，禁止操作按鈕 `0`。
正式截圖：`/tmp/awoooi-p1-001-runtime-surface-prod-desktop-fd33591.png`、`/tmp/awoooi-p1-001-runtime-surface-prod-mobile-fd33591.png`。
阻擋：無；runtime execution、rollout、restart、scale、delete、Secret payload、active scan、production routing 仍全部禁止。
下一步：P1-002 盤點 Gitea 工作流程與 runner 健康合約。
```

本次同步：

```text
進度：78%。
目前優先級：P1。
目前任務：P1-002 盤點 Gitea 工作流程與 runner 健康合約。
狀態變更：待辦 -> 完成。
證據：gitea_workflow_runner_health_v1 schema / snapshot；GET /api/v1/agents/gitea-workflow-runner-health；治理頁 Gitea 工作流程 / Runner 健康合約區塊；automation backlog 78%；inventory tasks 28。
目前數字：Gitea workflows 9；schedule 2；workflow_dispatch 7；notify bridge 6；actionable/failure quiet workflows 2；runner contracts 4；runner contract action_required 1；仍需 runner owner attestation 的 workflow 8；notification contracts 6；quiet success contracts 2；backlog done 18/23；overall 78%；P1 86%。
驗證：JSON parse 通過；gitea workflow runner health / inventory / backlog 目標 pytest 23 passed；Python py_compile 通過；zh-TW / en i18n key 差異 0；web typecheck 通過；Next production build 通過；source-control-owner-response guard、security-mirror-progress guard、git diff --check 通過；本地 API readback 回 `gitea_workflow_runner_health_v1`、current `P1-002`、next `P1-003`、workflows `9`；本地 standalone desktop `1440x1200` 與 mobile `390x1200` smoke 通過，四個 agents API 皆 `200`，`horizontalOverflow=false`，overflowing elements `0`，禁止操作按鈕 `0`。
正式驗證：feature commit `ff266926` 已推 `gitea main`；deploy marker `01b8712d chore(cd): deploy ff26692 [skip ci]`。Production health `healthy/prod/mock_mode=false`；Gitea health API 回 `gitea_workflow_runner_health_v1`、current `P1-002`、next `P1-003`、workflows `9`、runner attestation `8`、runner action `ubuntu_latest_gitea_runner_label`；backlog API 回 overall `78%`、done `18/23`；inventory API 回 tasks `28`、read_only_allowed `26`、`P1-002=done/100%`；production desktop `1440x1000` 與 mobile `390x844` smoke 通過，四個 agents API 皆 `200`，console error `0`，`pageOverflow=false`，overflowing elements `0`，禁止操作按鈕 `0`。
正式截圖：`/tmp/awoooi-p1-002-gitea-health-prod-desktop-ff26692.png`、`/tmp/awoooi-p1-002-gitea-health-prod-mobile-ff26692.png`。
阻擋：workflow modification、runner restart / stop、runner label change、runner registration、讀取 Secret payload、notification send、schedule change、Gitea write、deploy / migration trigger 仍全部禁止。
下一步：P1-003 盤點監控合約與降噪機會。
```

本次同步：

```text
進度：83%。
目前優先級：P1。
目前任務：P1-003 盤點監控合約與降噪機會。
狀態變更：待辦 -> 完成。
證據：observability_contract_matrix_v1 schema / snapshot；GET /api/v1/agents/observability-contract-matrix；治理頁監控合約與降噪機會區塊；automation backlog 83%；inventory tasks 29。
目前數字：observability surfaces 6；需處置 2；降噪候選 5；需人工批准的降噪候選 2；classification gaps 3；backlog done 19/23；overall 83%；P1 90%；WS3 監控自動化 75%。
驗證：JSON parse 通過；observability contract matrix service / API、automation inventory / backlog snapshot API、Gitea workflow runner health service / API 目標測試 `19 passed`；Python py_compile 通過；zh-TW / en i18n key 差異 `0`；web typecheck 通過；Next production build 通過；source-control-owner-response guard、security-mirror-progress guard、git diff --check 通過；本地 API readback 回 `observability_contract_matrix_v1`、current `P1-003`、next `P1-004`、surfaces `6`、noise opportunities `5`、approval-required opportunities `2`。
正式驗證：code commit `4944d770` 已推 `gitea main`；deploy marker `a0257ec1 chore(cd): deploy 4944d77 [skip ci]`；Gitea code-review `#2605` 成功、CD `#2604` 成功。Production observability API 回 `observability_contract_matrix_v1`、current `P1-003`、next `P1-004`、surfaces `6`、noise opportunities `5`、approval-required opportunities `2`；backlog API 回 overall `83%`、done `19/23`；production desktop `1440x1000` 與 mobile `390x844` smoke 通過，`監控合約與降噪機會`、`P1-003`、`P1-004`、`83%`、`Prometheus 規則`、`Alertmanager 路由`、`分類缺口`、`不可誤讀合約` 可見；console error `0`、`horizontalOverflow=0`、overflowing elements `0`、內容危險操作入口 `0`。
阻擋：Prometheus alert rule 修改、Prometheus reload、Alertmanager route / receiver 修改、Alertmanager 指向 OpenClaw、silence 建立、Grafana 寫入、SigNoz / Sentry webhook 修改、OTEL/Event Exporter deploy 或 restart、讀取 Secret payload、Telegram 測試通知、external API/live query、workflow/deploy/reload/runtime execution 仍全部禁止。
下一步：P1-004 盤點 AI Router / Ollama / Nemotron / Gemini provider 路徑。
```

本次同步：

```text
進度：92%。
目前優先級：P1。
目前任務：P1-007 建立 service health 失敗限定 Telegram / AwoooP 對應。
狀態變更：待辦 -> 完成。
證據：service_health_failure_notification_policy_v1 schema / snapshot；GET /api/v1/agents/service-health-failure-notification-policy；治理頁失敗限定通知合約；automation backlog 92%；inventory tasks 33。
目前數字：notification policy rules 7；成功靜默 2；action-required 2；failure escalation 3；notification send / Telegram test / AwoooP event write / live probe / service restart / endpoint change / runtime execution allowed counts 全部 0 或 false；backlog done 23/25；overall 92%；P1 100%；WS7 安全執行關卡 100%。
驗證：JSON parse 通過；service health gap matrix service / API、automation inventory / backlog snapshot service / API、AI provider route matrix service / API 目標測試 `35 passed`；Python py_compile 通過；zh-TW / en i18n key 差異 `0`；web typecheck 通過；乾淨重建 `.next` 後 Next production build 通過，治理頁 First Load JS `387 kB`，standalone server.js 正常產生；source-control-owner-response guard、security-mirror-progress guard、`git diff --check` 通過。本地 API readback 回 backlog current `P1-006`、next `P1-007`、done `22/25`；inventory tasks `32` 且存在 `service_health_evidence_cards_ui`；service health matrix targets `10`、需處置 `5`、stale endpoints `3`、health gaps `5`。本地 desktop `1440x1000` 與 mobile `390x844` browser smoke 通過，11 個 agents API 皆 `200`，主要證據卡數 `10`，`服務健康證據卡`、`主要證據`、`下一步`、`P1-006`、`P1-007`、`88%`、`Ollama 三層健康合約`、`scripts/health_check_session.sh`、`apps/api/src/api/v1/health.py`、`允許入口` 可見，blocking console error `0`、blocking HTTP failed response `0`、`horizontalOverflow=0`、overflowing elements `0`、危險互動入口 `0`；本地 mini API 的 dashboard SSE close 為 known local noise。
正式驗證：待 code commit 推送 Gitea、取得 deploy marker 後補 production API readback 與 desktop / mobile smoke。補充 recheck：docs-only `e95f5e60` 推上 Gitea 後，production desktop / mobile 再驗皆通過，主要證據卡數 `10`、console error `0`、HTTP failed response `0`、`horizontalOverflow=0`、overflowing elements `0`、危險互動入口 `0`、錯誤文字 `0`。
阻擋：live probe、external health probe、service / pod / host restart、rollout restart、endpoint / ConfigMap 修改、provider switch、paid API call、讀取 Secret payload、通知發送、workflow/deploy/reload/runtime execution 仍全部禁止。
下一步：P2-004 配置優化主線需保持 read-only / approval gate。
```

本次同步：

```text
進度：92%。
目前優先級：P1。
目前任務：P1-007 建立 service health 失敗限定 Telegram / AwoooP 對應。
狀態變更：待辦 -> 完成。
證據：service_health_failure_notification_policy_v1 schema / snapshot / API；治理頁 failure-only 通知合約與 redaction 狀態；automation backlog 92%；inventory tasks 33。
目前數字：通知規則 7；成功降噪 2；需處置 2；立即升級 3；notification_send_allowed_count 0；conversation_transcript_display_allowed=false；redaction_required=true；backlog done 23/25；P1 100%。
驗證：P1-007 後端目標測試 `10 passed`；JSON parse 通過；snapshot / API / frontend 文字掃描未出現工作視窗 transcript 標記；前端只顯示 committed policy、rule summary、evidence ref、下一步、禁止事項與 redaction 狀態。
阻擋：Telegram / AwoooP 通知發送、測試通知、AwoooP event 寫入、live probe、external probe、service restart、endpoint / ConfigMap 修改、讀取 Secret payload、workflow/deploy/reload/runtime execution、工作視窗對話內容 / 提示詞 / session / 瀏覽器上下文 前端顯示仍全部禁止。
下一步：P2-004 依賴 / 供應鏈漂移監控；P3-001 仍需證據與費用 / shadow / canary 關卡。
```

## 13. 立即執行順序

1. P2-004：依賴 / 供應鏈漂移監控，保持只讀觀察與批准包邊界。
2. P3-001：外部 Agent / SDK / API 相關能力仍需證據、費用批准與 shadow / canary 關卡。

## 14. 目前風險

| 風險 | 嚴重度 | 原因 | 緩解 |
|---|---|---|---|
| 範圍蔓延到生產執行 | 高 | 工作清單橫跨服務 / 工具 / 備份 / 套件 | P0/P1 保持只讀 |
| SDK/API 費用邊界違規 | 高 | 候選 Agent 可能需要外部 SDK/API | 呼叫或安裝前先產批准包 |
| runtime 假設過期 | 高 | repo 文件可能和 live runtime 不一致 | 宣告完成前驗 API / 瀏覽器 / 部署證據 |
| 備份狀態漂移 | 中 | 現有備份文件可能舊於 live 狀態 | 綠燈前使用 exporter 與 live 檢查 |
| UI 過度膨脹 | 中 | governance 頁面會變得太密 | 使用分組卡片與篩選看板 |
| 過度信任單一 Agent | 高 | 專家輸出可能錯 | OpenClaw 仲裁 + critic / reviewer 評分 |

## 15. 下一個里程碑的完成條件

P0 完成條件：

- 自動化盤點 schema 存在。
- 靜態盤點種子存在。
- 只讀 API 可回傳盤點快照。
- UI 顯示服務 / 工具 / 套件 / 備份目標與狀態 / 關卡。
- 測試通過。
- 瀏覽器桌面與 390px mobile 通過。
- 沒有生產寫入、SDK 安裝、付費 API 呼叫、路由變更。
