fix(api): distinguish ansible dry run from repair
Some checks failed
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m35s
CD Pipeline / build-and-deploy (push) Successful in 5m0s
CD Pipeline / post-deploy-checks (push) Successful in 1m33s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
Some checks failed
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m35s
CD Pipeline / build-and-deploy (push) Successful in 5m0s
CD Pipeline / post-deploy-checks (push) Successful in 1m33s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
This commit is contained in:
@@ -152,12 +152,24 @@
|
||||
| 驗證 | JSON parse、i18n mirror、web typecheck、diff check 通過 |
|
||||
| 邊界 | 只讀狀態顯示;不新增執行、重啟、Telegram send 或 PlayBook apply 入口 |
|
||||
|
||||
## 4.8 2026-06-25 Ansible check-mode 乾跑 truth-chain 修正
|
||||
|
||||
| 項目 | 結果 |
|
||||
|---|---|
|
||||
| 核心修正 | `INC-20260625-977E5F` 類 Ansible `check_mode` 乾跑不再被 AwoooP / Telegram 誤標為已執行修復 |
|
||||
| 判定條件 | `check_mode_total>0`、`apply_total=0`、`applied=false`、`controlled_apply=false`、`auto_repair_execution_records=0` |
|
||||
| 新狀態 | `ansible_check_mode_only`、`dry_run_only_owner_review_required` |
|
||||
| 下一步 | `owner_review_apply_gate_or_create_verifier_plan` |
|
||||
| 產品含義 | Runs / Approvals / Telegram 必須把「乾跑完成」與「修復已套用」分成不同階段;後續 Situation Strip 也要把 dry-run、apply、verifier、KM / PlayBook writeback 分層 |
|
||||
| 驗證 | `py_compile` 通過;targeted API / Telegram tests `150 passed`;diff check 與 security guards 通過 |
|
||||
| 邊界 | 不執行 Ansible apply、不新增主機命令、不發 Telegram、不開 runtime gate;本段只修 truth-chain 與 operator outcome 語意 |
|
||||
|
||||
## 5. 下一輪必做
|
||||
|
||||
| 優先級 | 工作 | 驗收 |
|
||||
|---|---|---|
|
||||
| P0 | AwoooP Runs 共用 Situation Strip / Agent Flow / Action Rail | Recurrence Work Item status chip 已完成;下一步補首屏 Situation Strip,讓 Runs 一眼看懂卡點、owner、補救試跑、verifier 與下一步 |
|
||||
| P0 | Repair candidate draft readback 串接 | 後端已拆出 `draft_ready_for_owner_review`,Runs 已顯示 Work Item 草案狀態;下一步 Work Items / KB 顯示草案 ID、owner、rollback、verifier、KM / PlayBook / script / schedule 資產狀態 |
|
||||
| P0 | AwoooP Runs 共用 Situation Strip / Agent Flow / Action Rail | Recurrence Work Item status chip 與 Ansible dry-run truth-chain 已完成;下一步補首屏 Situation Strip,讓 Runs 一眼看懂卡點、owner、dry-run、apply、verifier 與下一步 |
|
||||
| P0 | Repair candidate draft readback 串接 | 後端已拆出 `draft_ready_for_owner_review` 與 `ansible_check_mode_only`;下一步 Work Items / KB 顯示草案 ID、owner、rollback、verifier、KM / PlayBook / script / schedule 資產狀態 |
|
||||
| P0 | Tenants 舊表格 responsive 化 | route / source 已完成卡片化;下一步處理租戶資料表 drawer 與產品 topology drilldown |
|
||||
| P0 | Observability topology | 主機 / 服務 / 網站 / 告警 / SLO 關聯可視化 |
|
||||
| P0 | Knowledge / Automation trust ledger | KM、PlayBook、腳本、排程、dry-run、verifier 有統一沉澱面板 |
|
||||
|
||||
@@ -200,6 +200,23 @@ Tenants 目前已讀到:
|
||||
|
||||
完成度同步:AwoooP Runs 可判讀性 `62% -> 65%`;全站 UI/UX 專業化 `55% -> 56%`;AwoooP AI 自動化真相鏈仍 `64%`。
|
||||
|
||||
### 2.5.6 Ansible check-mode 乾跑不再誤標為已修復
|
||||
|
||||
2026-06-25 正式 API 讀回 `INC-20260625-977E5F` 時確認:`node-exporter-188` 類告警已出現 Ansible `check_mode` 證據,但實際只有乾跑,沒有 apply,也沒有 verifier。舊狀態鏈把它顯示成 `execution_succeeded / executed_pending_verification`,會讓 operator 誤以為 AI 已經執行修復,實際上只是完成安全乾跑。
|
||||
|
||||
| 項目 | 完成 |
|
||||
|---|---|
|
||||
| 真相來源 | `check_mode_total=1`、`apply_total=0`、`auto_repair_execution_records=0` |
|
||||
| 狀態鏈 | 新增 `ansible_check_mode_only`,不再顯示 `executed_pending_verification` |
|
||||
| Operator outcome | 新增 `dry_run_only_owner_review_required` |
|
||||
| 下一步 | `owner_review_apply_gate_or_create_verifier_plan` |
|
||||
| API evidence | `ansible_dry_run_only=true` |
|
||||
| Telegram / Callback | 詳情、歷史與 callback snapshot 套用同一判定,避免 TG 把 dry-run 講成已修復 |
|
||||
| 驗證 | `py_compile` 通過;`DATABASE_URL=sqlite:///tmp/awoooi-test.db pytest apps/api/tests/test_operator_outcome.py apps/api/tests/test_awooop_operator_timeline_labels.py apps/api/tests/test_telegram_message_templates.py -q`:`150 passed` |
|
||||
| 邊界 | 不執行 Ansible apply、不 restart、不 SSH、不發 Telegram、不開 runtime gate;只修正狀態鏈語意 |
|
||||
|
||||
完成度同步:AwoooP status-chain 真相語意 `64% -> 67%`;Telegram / AwoooP 乾跑誤導修正 source-side `100%`;真正 AI 自動化 verified repair 成功率不提高,仍需以 apply + verifier + KM / PlayBook writeback 計算。
|
||||
|
||||
## 3. 頁面 UI/UX 現況盤點
|
||||
|
||||
2026-06-25 對正式站桌機 / mobile 抽查:
|
||||
@@ -207,7 +224,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 與 recurrence Work Item 草案狀態 chip 可見 | mobile 有長字串、內部 provider URL / key 類資訊外露風險;仍需補 Situation Strip / Agent Flow / Action Rail 才能一眼分辨「AI 已做什麼、卡哪裡、下一步誰做」 | P0 |
|
||||
| `/zh-TW/awooop/runs` | Runs 狀態鏈、provider evidence、recurrence Work Item 草案狀態 chip 可見;後端已能分辨 Ansible check-mode 乾跑與真正修復執行 | mobile 有長字串、內部 provider URL / key 類資訊外露風險;仍需補 Situation Strip / Agent Flow / Action Rail 才能一眼分辨「乾跑、已套用、待 verifier、需 owner apply gate」 | 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 與審批決策 handoff rail 可見;已能一眼看到阻塞、證據、接手包與安全閘門;後端已能把 prefilled host-service 草案標成 owner-review-ready | 表格仍需 drawer 化;Runs / Work Items 仍要讀回 draft-ready 狀態、owner、rollback、verifier receipt 與資產 ID | P0 |
|
||||
| `/zh-TW/awooop/tenants` | 16 產品、31 路由、10 repo 資產可讀;作戰圖與 route/source 手機卡片已上線 | 下一步補產品拓樸 drilldown 與租戶資料表 drawer | P0 |
|
||||
@@ -311,7 +328,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 / Runs 加人工處置 SOP rail | Work Items 與 Approvals 首屏 rail 已上線;下一步 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、dry-run / apply / verifier 差異、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,不再像資料消失 |
|
||||
@@ -395,7 +412,7 @@ AWOOOI 缺的是:
|
||||
|---|---:|
|
||||
| 全站 UI/UX 專業化 | `56%` |
|
||||
| 導航 / IA 整合 | `64%` |
|
||||
| AwoooP 操作台產品化 | `65%` |
|
||||
| AwoooP 操作台產品化 | `66%` |
|
||||
| Tenants 全產品資產中心 | `68%` |
|
||||
| Observability 專業拓樸 / 告警中心 | `38%` |
|
||||
| Knowledge / PlayBook 沉澱可視化 | `34%` |
|
||||
|
||||
Reference in New Issue
Block a user