docs(logbook): record Approvals decision rail rollout [skip ci]

This commit is contained in:
Your Name
2026-06-25 19:54:32 +08:00
parent 5895bd1812
commit d98261e44f
3 changed files with 84 additions and 10 deletions

View File

@@ -1,3 +1,45 @@
## 2026-06-25AwoooP Approvals 審批決策 handoff rail 正式驗證
**背景**:使用者指出批准後仍常卡在 `learning_recorded``execution_failed``REPAIR_CANDIDATE_MISSING``manual_required_no_action`,頁面又需要從大量欄位和文字中自行判斷下一步。本輪先把 Approvals 首屏改成審批決策 handoff rail讓 operator 先看阻塞、證據、接手包與安全閘門,再下鑽表格;真正自動修復閉環仍需下一輪修後端 repair candidate generation。
**完成**
- `/zh-TW/awooop/approvals` 新增 `awooop-approvals-decision-rail`
- Rail 顯示 `請求 / 證據 / 決策 / 接手 / 驗證` 流程。
- 四張判讀卡固定顯示:`阻塞與人工閘門``AI 證據可用度``接手包與工作項``安全閘門仍關閉`
- 讀取現有 `awooop_status_chain``remediation_summary`,判斷 needs human、execution failed / degraded / timeout、learning_recorded、Gate 5 projection、MCP observed、read-only dry-run、no evidence 與逾時。
- 下鑽入口只導向 Approvals detail、Runs、Work Items 與 Governance不新增任何 runtime 動作入口。
**Commit / Deploy**
- Code commit`01a8e9d3 feat(web): add approvals decision handoff rail`
- 直接 deploy marker`cc835df5 chore(cd): deploy 01a8e9d [skip ci]`
- 最新 production deploy marker`66be2576 chore(cd): deploy bfc78d3 [skip ci]`,此部署包含 `01a8e9d3` 與後續 P0 convergence 驗證。
**驗證**
- 本地:`python3 -m json.tool` for `apps/web/messages/zh-TW.json` / `apps/web/messages/en.json` 通過。
- 本地i18n key / placeholder mirror `I18N_APPROVAL_DECISION_RAIL_OK leaves=13493 mirrorDiff=0 placeholderDiff=0`
- 本地:`git diff --check` 通過。
- 本地:`pnpm --filter @awoooi/web typecheck` 通過。
- 本地:`source-control-owner-response-guard.py``security-mirror-progress-guard.py` 通過。
- 本地 browser`http://127.0.0.1:3131/zh-TW/awooop/approvals?project_id=awoooi&_v=approvals-rail-local-desktop` 與 mobile smoke 通過rail visible、flow/cards/boundary 可見、`horizontalOverflow=false`、rail overflow `0`、dangerous direct action labels `[]`
- Production desktop`https://awoooi.wooo.work/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-desktop`
- Production mobile`https://awoooi.wooo.work/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-mobile`
- Production desktop`clientWidth=1434``scrollWidth=1434``horizontalOverflow=false`、rail overflow `0`、dangerous direct action labels `[]`、內部工作用語外露 `[]`
- Production mobile`clientWidth=384``scrollWidth=384``horizontalOverflow=false`、rail overflow `0`、dangerous direct action labels `[]`、內部工作用語外露 `[]`
- Production API readback`/api/v1/platform/approvals?project_id=awoooi``/api/v1/approvals/pending?project_id=awoooi``/api/v1/health` 均回 `200`
- `無法載入審批資料` 只存在 Next messages scriptvisible error count `0`
- 截圖:`/tmp/awoooi-approvals-rail-prod-desktop-66be2576.png``/tmp/awoooi-approvals-rail-prod-mobile-66be2576.png`
**完成度同步**
- AwoooP Approvals 可判讀性:`58% -> 66%`
- AwoooP 核心頁產品化:`62% -> 65%`
- 全站 UI/UX 專業化:`53% -> 55%`
- 真正 AI 自動化 runtime 閉環:仍維持 `58-62%`
- Production autonomous repair verified success仍約 `3-5%`,不得因 UI rail 上線而上修。
**邊界**:本輪只做 Approvals read-only decision handoff 與 operator 導覽;沒有發 Telegram、沒有套用 PlayBook、沒有執行 Ansible、沒有重啟服務、沒有改 endpoint、沒有切換 provider、沒有讀 secret、沒有新增部署 / 掃描 / 修復 / 刪除 / 重啟 / 執行按鈕,也沒有提高 owner response、runtime gate 或 autonomous repair success。
**下一步 P0**:針對 Telegram 最新 `node-exporter-188``NO_ACTION - REPAIR_CANDIDATE_MISSING`,修後端 repair candidate generation診斷 PlayBook 必須保留為 MCP evidence collector另產生 service-specific repair candidate、rollback、verifier、owner review 與 KM / PlayBook / script / schedule 資產 ID否則 AI Agent 仍會被誤認為只會把問題丟回人工。
## 2026-06-25IwoooS P0 資安事件收斂 Gate 正式部署驗證
**背景**:前一筆 IwoooS P0 Gate 已完成 source-side但尚未部署與 production readback。本輪補上不含 `[skip ci]` 的前端驗證錨點 commit 觸發 CD並完成正式站桌機 / 手機只讀驗證。

View File

@@ -1,7 +1,7 @@
# AWOOOI 導航與頁面資訊架構整合決策表
> 日期2026-06-25台北時間
> 基線:`gitea/main=2a9e816a`deploy `aa70835c`,包含 AwoooP Work Items SOP rail
> 基線:`gitea/main=5895bd18`deploy `66be2576`,包含 AwoooP Approvals decision handoff rail 與後續 P0 convergence 驗證
> 目標把左側導航、AwoooP 二層菜單、頁內 tabs 與重複頁面整合成專業 AI 營運產品資訊架構。
> 邊界:本輪先調整導航曝光與 AwoooP contextual rail不刪除路由、不改 API、不開 runtime gate。
@@ -32,7 +32,7 @@
| `/awooop` | 保留為 AwoooP command overview | 不刪 | 改成 Situation Strip + Agent Flow + Risk Matrix + Action Rail。 |
| `/awooop/work-items` | 保留下鑽 | 不刪 | 改成 operator queuemanual item 必須有 SOP rail。 |
| `/awooop/runs` | 保留下鑽 | 不刪 | 改成 execution timelineraw evidence 進 drawer。 |
| `/awooop/approvals` | 保留下鑽 | 不刪 | 改成 decision treestuck approval 要顯示 owner / next action。 |
| `/awooop/approvals` | 保留下鑽 | 不刪 | decision handoff rail 已上線;下一步補 stale approval drawer、owner / rollback / verifier 細節與 legacy alias parity。 |
| `/awooop/contracts` | 保留下鑽 | 不刪 | 合約與 gate 改為 matrix不再純表格。 |
| `/awooop/tenants` | 保留並升級 | 不刪 | 變成全產品 coverage heatmap + topology吸收各產品納管狀態。 |
| `/alerts` | 降級為 AwoooP / Observability 下鑽 | 等 AwoooP incident center 完成後 redirect | 告警不再單獨成主頁;與 incident timeline 串接。 |
@@ -66,6 +66,7 @@
| `/awooop/tenants` 新增產品納管作戰圖 | 正式站完成 |
| `/awooop` 新增 AI 自動化真相帶 | 正式站完成 |
| `/awooop/work-items` 新增人工卡點 SOP rail | 正式站完成 |
| `/awooop/approvals` 新增審批決策 handoff rail | 正式站完成 |
## 4.1 2026-06-25 Tenants 作戰圖切片
@@ -116,11 +117,25 @@
| Layout | desktop `clientWidth=1434 scrollWidth=1434`mobile `clientWidth=384 scrollWidth=384``horizontalOverflow=false`rail overflow `0` |
| 邊界 | read-only SOP / operator handoff不新增部署、掃描、修復、刪除、重啟、Telegram send、PlayBook apply、Ansible apply 或 runtime execution |
## 4.5 2026-06-25 Approvals decision handoff rail
| 項目 | 結果 |
|---|---|
| Code commit | `01a8e9d3 feat(web): add approvals decision handoff rail` |
| Deploy marker | `66be2576 chore(cd): deploy bfc78d3 [skip ci]`,包含 `01a8e9d3` |
| Production desktop | `/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-desktop` |
| Production mobile | `/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-mobile` |
| 首屏資訊 | 審批決策 Rail、請求 / 證據 / 決策 / 接手 / 驗證流程、阻塞與人工閘門、AI 證據可用度、接手包與工作項、安全閘門仍關閉 |
| Layout | desktop `clientWidth=1434 scrollWidth=1434`mobile `clientWidth=384 scrollWidth=384``horizontalOverflow=false`rail overflow `0` |
| Error 判讀 | API `/platform/approvals``/approvals/pending``/health``200``無法載入審批資料` 只存在 Next messages scriptvisible error count `0` |
| 邊界 | read-only decision handoff不新增部署、掃描、修復、刪除、重啟、Telegram send、PlayBook apply、Ansible apply、provider switch 或 runtime execution |
## 5. 下一輪必做
| 優先級 | 工作 | 驗收 |
|---|---|---|
| P0 | AwoooP Runs / Work Items / Approvals 共用 Situation Strip / Agent Flow / Action Rail | OverviewWork Items 第一刀已完成;下一步讓 Runs / Approvals 也能一眼看懂卡點、owner 與下一步 |
| P0 | AwoooP Runs 共用 Situation Strip / Agent Flow / Action Rail | OverviewWork Items、Approvals 第一刀已完成;下一步讓 Runs 也能一眼看懂卡點、owner、補救試跑、verifier 與下一步 |
| P0 | Repair candidate missing 後端閉環 | `NO_ACTION - REPAIR_CANDIDATE_MISSING` 必須能產生 service-specific repair candidate、rollback、verifier、owner 與資產 ID不再只丟回人工 |
| P0 | Tenants 舊表格 responsive 化 | route / source 已完成卡片化;下一步處理租戶資料表 drawer 與產品 topology drilldown |
| P0 | Observability topology | 主機 / 服務 / 網站 / 告警 / SLO 關聯可視化 |
| P0 | Knowledge / Automation trust ledger | KM、PlayBook、腳本、排程、dry-run、verifier 有統一沉澱面板 |

View File

@@ -1,7 +1,7 @@
# AWOOOI 全面工作盤點與產品 UI/UX 專業化推進清單
> 日期2026-06-25台北時間
> 基線:`gitea/main=2a9e816a`deploy `aa70835c`,包含 AwoooP Work Items SOP rail
> 基線:`gitea/main=5895bd18`deploy `66be2576`,包含 AwoooP Approvals decision handoff rail 與後續 P0 convergence 驗證
> 定位:回應「做了很多但使用者看不到成果」的產品真相盤點、頁面優化計畫與 AI 自動化落地路線。
> 邊界:本文件只建立盤點與推進清單;不開 runtime gate、不 SSH、不 active scan、不讀 secret、不發 Telegram、不修改主機或 workflow。
@@ -16,7 +16,7 @@
| AI Agent 只讀治理 / API / gate 契約 | `92%` | 已有很多 snapshot、API、治理頁與邊界顯示但主要仍是「看得到、不能動」。 |
| 完整 AI 自動化產品閉環 | 約 `58-62%` | Sensor / Evidence / Classification / Gate / UI 有雛形execution、verifier、KM / PlayBook writeback、Telegram live receipt 仍不足。 |
| 真正 production autonomous repair | 約 `3-5%` verified success | 多數告警仍落在 manual review、repair candidate missing、general fallback 或 no-action。 |
| 全站專業 UI/UX 產品化 | 約 `53%` | Google Ads 式 shell、主導航整併、Tenants 作戰圖 / mobile responsive 資產卡、AwoooP 首屏 AI 自動化真相帶Work Items operator SOP rail 已上線Runs / Approvals / Observability / Knowledge Base 仍需大幅圖表化與重複頁整併。 |
| 全站專業 UI/UX 產品化 | 約 `55%` | Google Ads 式 shell、主導航整併、Tenants 作戰圖 / mobile responsive 資產卡、AwoooP 首屏 AI 自動化真相帶Work Items operator SOP rail 與 Approvals decision handoff rail 已上線Runs / Observability / Knowledge Base 仍需大幅圖表化與重複頁整併。 |
| 全產品 / 網站 / 專案納管 | read-only `65%`runtime `0%` | Tenants API 已列 `16` 個產品面、`31` 條公開路由、`10` 個候選 repoowner accepted / runtime gate / action buttons 仍全為 `0`。 |
因此下一階段不能再以「新增更多文字卡」為主要進度。必須改成:
@@ -65,7 +65,7 @@
| 工作域 | 目前成果 | 缺口 |
|---|---|---|
| Incidents / Runs / Approvals / Work Items | 狀態鏈、MCP evidence、repair candidate draft、approval gate、learning record 等資料已可見Work Items 已新增人工卡點與自動化缺口 SOP rail能把阻塞、候選、沉澱資產與負責人接手集中判讀 | Runs / Approvals 仍需同樣的 SOP rail每個 blocked lane 後端仍要補 service-specific PlayBook、safe command route、verifier、rollback 與回寫狀態。 |
| Incidents / Runs / Approvals / Work Items | 狀態鏈、MCP evidence、repair candidate draft、approval gate、learning record 等資料已可見Work Items 已新增人工卡點與自動化缺口 SOP railApprovals 已新增 decision handoff rail能把阻塞、證據、接手包與安全閘門集中判讀 | Runs 仍需同樣的 SOP rail每個 blocked lane 後端仍要補 service-specific PlayBook、safe command route、verifier、rollback 與回寫狀態。 |
| Telegram 告警 | 已有 no-send / failure-only / AwoooI SRE 戰情室契約與紅線2026-06-25 已修 `PostgreSQLSlowQueries` 被 backup / escrow token 誤分類的問題 | live send、receipt production write、Bot API、Gateway queue 多數仍 `0`;週報 / 日報出現全 0 代表資料源或報表邏輯未變成有效營運訊號。 |
| PlayBook / Ansible / Repair | PlayBook trust、repair candidate、Ansible evidence 已在多處顯示database target 不再預填 K8s restart改為 read-only DB evidence + owner review | 多數仍只「建議」或「草案」,缺 service-specific playbook、safe command route、verifier 與 rollback receiptDB 類事件仍需真實 production formatter / Work Items / Runs readback 驗證。 |
| KM / learning | KM / PlayBook / writeback gate 被多次定義 | 使用者在頁面與 TG 看不到完整沉澱結果KM 頁資料鏈仍需修。 |
@@ -151,6 +151,23 @@ Tenants 目前已讀到:
完成度同步AwoooP Work Items 可判讀性 `84% -> 89%`AwoooP 核心頁產品化 `59% -> 62%`;全站 UI/UX 專業化 `51% -> 53%`
### 2.5.3 AwoooP Approvals 審批決策 handoff rail
2026-06-25 已完成 `/zh-TW/awooop/approvals` 首屏第一刀,將卡在 `learning_recorded``execution_failed``manual_required`、逾時、Gate 5 投影與 Legacy HITL 的批准,收斂成 operator 可判讀的 decision handoff rail。
| 項目 | 完成 |
|---|---|
| Code commit | `01a8e9d3 feat(web): add approvals decision handoff rail` |
| Deploy marker | `66be2576 chore(cd): deploy bfc78d3 [skip ci]`,包含 `01a8e9d3` |
| 顯示內容 | 審批決策 Rail、請求 / 證據 / 決策 / 接手 / 驗證流程、阻塞與人工閘門、AI 證據可用度、接手包與工作項、安全閘門仍關閉 |
| Production desktop | `/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-desktop` |
| Production mobile | `/zh-TW/awooop/approvals?project_id=awoooi&_v=66be2576-approvals-rail-prod-mobile` |
| Layout | desktop `clientWidth=1434 scrollWidth=1434`mobile `clientWidth=384 scrollWidth=384``horizontalOverflow=false`rail overflow `0` |
| Error 判讀 | `無法載入審批資料` 僅存在 Next messages scriptvisible error count `0`production APIs `/platform/approvals``/approvals/pending``/health` 均回 `200` |
| 邊界 | 只讀審批判讀與安全導覽;不送 Telegram、不套用 PlayBook、不執行 Ansible、不重啟服務、不切換 provider、不新增部署 / 掃描 / 修復 / 刪除 / 重啟 / 執行按鈕,不提高 runtime gate |
完成度同步AwoooP Approvals 可判讀性 `58% -> 66%`AwoooP 核心頁產品化 `62% -> 65%`;全站 UI/UX 專業化 `53% -> 55%`
## 3. 頁面 UI/UX 現況盤點
2026-06-25 對正式站桌機 / mobile 抽查:
@@ -160,7 +177,7 @@ Tenants 目前已讀到:
| `/zh-TW/awooop` | Google Ads 式 shell 已存在AwoooP 概覽與 AI 自動化真相帶可見 | 仍需把 Runs / Work Items / Approvals 的卡點與 owner SOP rail 串回同一首屏;後續要減少下方長文字卡 | P0 |
| `/zh-TW/awooop/runs` | Runs 狀態鏈與 provider evidence 可見 | mobile 有長字串、內部 provider URL / key 類資訊外露風險使用者無法一眼分辨「AI 已做什麼、卡哪裡、下一步誰做」 | P0 |
| `/zh-TW/awooop/work-items` | 工作項目、repair candidate 與 operator SOP rail 可見;已能一眼看到人工卡點、候選品質、沉澱資產與負責人接手 | 底部長表格仍需 responsive data grid / drawer 化;每筆 item 還要補更細的 owner、rollback、verifier receipt 與狀態回寫 | P0 |
| `/zh-TW/awooop/approvals` | approval 狀態鏈AI evidence 可見 | 卡在 `learning_recorded` / `execution_failed` 時沒有清楚的 next action / owner / rollback / verifier decision tree | P0 |
| `/zh-TW/awooop/approvals` | approval 狀態鏈AI evidence 與審批決策 handoff rail 可見;已能一眼看到阻塞、證據、接手包與安全閘門 | 表格仍需 drawer 化;後端仍要把 `REPAIR_CANDIDATE_MISSING` 轉成可審核 repair candidate、rollbackverifier 與資產 ID | P0 |
| `/zh-TW/awooop/tenants` | 16 產品、31 路由、10 repo 資產可讀;作戰圖與 route/source 手機卡片已上線 | 下一步補產品拓樸 drilldown 與租戶資料表 drawer | P0 |
| `/zh-TW/observability` | 有監控面板雛形 | 出現 error / 0% / -- 類狀態沒有把主機、服務、工具、告警、SLO 串成拓樸與 blast radius | P0 |
| `/zh-TW/knowledge-base` | KB 頁存在 | 資訊讀取看起來像全部不見或全 0需區分 loading、empty、error、stale、blocked、owner required | P0 |
@@ -262,7 +279,7 @@ AWOOOI 缺的是:
|---|---|---|
| P0-UX-001 | 凍結目前資訊架構,不再往頁面塞新文字卡 | 新增 UI 變更需指定進 Situation / Flow / Matrix / Topology / Evidence / Action 其中一層 |
| P0-UX-002 | AwoooP Runs 移除 raw internal provider URL / key 顯示 | 正式 DOM 不出現 LAN IP / raw provider endpoint改顯 provider alias、owner、route order、fallback reason |
| P0-UX-003 | Work Items / Approvals 加人工處置 SOP rail | Work Items 首屏 SOP rail 已上線;下一步 Approvals 與 Runs 要同樣顯示 owner、why blocked、safe next action、evidence missing、rollback / verifier status |
| P0-UX-003 | Work Items / Approvals / Runs 加人工處置 SOP rail | Work Items 與 Approvals 首屏 rail 已上線;下一步 Runs 要同樣顯示 owner、why blocked、safe next action、evidence missing、rollback / verifier status |
| P0-UX-004 | Tenants 改成全產品 Coverage Heatmap + Topology | 第一刀已上線;下一步移除舊寬表格依賴,改成 responsive cards / drawer |
| P0-UX-005 | Observability 修 `0% / -- / error` 語義 | 所有 0 要分成 no data、not connected、blocked、healthy zero、stale、error |
| P0-UX-006 | Knowledge Base 修讀取狀態與沉澱總帳 | 顯示 KM / PlayBook / scripts / schedules / owner / stale / trust score不再像資料消失 |
@@ -344,9 +361,9 @@ AWOOOI 缺的是:
| 項目 | 基準完成度 |
|---|---:|
| 全站 UI/UX 專業化 | `53%` |
| 全站 UI/UX 專業化 | `55%` |
| 導航 / IA 整合 | `64%` |
| AwoooP 操作台產品化 | `62%` |
| AwoooP 操作台產品化 | `65%` |
| Tenants 全產品資產中心 | `68%` |
| Observability 專業拓樸 / 告警中心 | `38%` |
| Knowledge / PlayBook 沉澱可視化 | `34%` |