diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 6362998df..175282ff4 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -28856,3 +28856,49 @@ production browser smoke: - Work Items readability:`84% → 88%`,因工作鏈路已成為全域一級入口。 - Design system:`54% → 58%`,因 Sidebar / AwoooP shell / Command Palette 導航語意與 i18n 開始收斂。 - 完整 AI 自動化飛輪:維持 `69%`,本輪是 IA 與工作推進清單,不宣稱自動執行閉環進步。 + +## 2026-06-04 — Phase 0 production smoke 與 Phase 1 AI 飛輪真相初盤 + +**背景**: +- 使用者批准繼續,並要求後續所有階段都要明確評估哪些需要驗證、哪些需要實際打開相關頁面確認是否正常。 + +**本輪完成**: +- `docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md` 新增「階段驗證矩陣」: + - 每個 Phase 都標明必做驗證、必看頁面 / 端點與完成門檻。 + - 明確要求前端變更要做 desktop / mobile Browser smoke,production 聲明必用 live API / Browser 證據。 +- Phase 0 導航 IA 正式站補驗通過: + - `https://awoooi.wooo.work/zh-TW/awooop?_v=2555c811-phase1-precheck` + - Sidebar 已顯示 `指令中心 / AwoooP 總覽 / 工作鏈路 / Run 監控 / 審批佇列 / 告警`。 + - AwoooP subnav 已顯示 `總覽 / 工作鏈路 / Run 監控 / 審批佇列 / 合約 / 租戶`。 + - Sidebar section text 已包含 `處理佇列 / 真相與治理 / 運維管理 / 系統與相容`。 + - `horizontalOverflow=0`。 +- Phase 1 AI 自動化飛輪真相初盤: + - Production `/api/v1/ai/slo?force_refresh=true`:`auto_execute_success_rate=90.2%`、`human_override_rate=0.5%`、`verifier_false_neg_rate=0.0%`,目前 `any_violated=false`。 + - ADR-100 24h verification coverage 為 `skipped_low_volume`,原因 `no_auto_repair_executions_24h`;SLO 已回綠,但近 24h 沒有可評估 auto repair execution。 + - Production runs:`/api/v1/platform/runs/list?project_id=awoooi&per_page=10` 回 `total=22700`;`mcp_observed` filter 回 `total=4391`;`read_only_dry_run` filter 回 `total=7`。 + - `INC-20260603-9B2535` timeline:alert / investigator / approval 可見,但 `timeline_events=0`、`timeline_missing_for_approval`、executor / verifier / KM skipped,代表 pending approval lifecycle 留痕不足。 + - `INC-20260601-1B3388` timeline:完整跑到 executor / verifier / close,但結果是 `execution_failed` / `manual_required`,MCP gateway 36 筆,verifier degraded,KM 未回寫。 + - `/api/v1/platform/status-chain` 合併 `INC-20260603-9B2535` + `INC-20260601-1B3388`:`current_stage=execution_failed`、`needs_human=true`、`next_step=manual_fix_or_rollback`,Ansible 候選 3 筆但未使用。 + - `/api/v1/platform/ai-route-status?workload_type=deep_rca`:policy order 為 `ollama_gcp_a → ollama_gcp_b → ollama_local → gemini`,目前 selected provider `ollama_gcp_a`,Gemini 仍是 final fallback。 + +**頁面驗證**: +- Production `/zh-TW/awooop/runs?project_id=awoooi`: + - 表格載入 50 列,含 `INC-20260603-9B2535` 與 MCP 摘要。 + - Automation Flow Gate 顯示 28 件、8 個 blocked gate、verified auto repair 0。 + - `horizontalOverflow=0`。 +- Production `/zh-TW/awooop/work-items`: + - 頁面可開、無水平溢出,顯示 Work Items / KM / Config Drift 區塊。 + - 尚未直接浮出 `INC-20260603-9B2535` / `INC-20260601-1B3388` 的可操作下一步。 +- Production `/zh-TW/awooop/approvals`: + - 頁面可開、無水平溢出,AwoooP run approvals 為 0,legacy HITL 仍在下方保留。 + - 尚未把 pending approval 的 blocked reason / next action 以 operator-first 方式浮上來。 + +**目前狀態**: +- Phase 0 導航 IA:`100%`。 +- Phase 1 AI 自動化飛輪真相盤點:`38%`;SLO 回綠與流程斷點已定位,待修 timeline event、Telegram stage 文案與 risk / approval gate 對照。 +- 完整 AI 自動化飛輪:`69% → 72%`;只提高「truth visibility / 現況判讀」進度,不宣稱自動修復閉環完成。 + +**下一步**: +1. 針對 `timeline_missing_for_approval` 補 pending approval lifecycle event,至少要能看到 stage、handler、AI action、manual need。 +2. 針對 Telegram 告警文案補 stage、next action、blocked reason、auto/manual,讓 operator 不開前端也能判讀。 +3. 建立 risk level ↔ approval gate 對照表,釐清低 / 中風險何時能自動修復、何時必須人工。 diff --git a/docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md b/docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md index 6ac7b5bff..83057f342 100644 --- a/docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md +++ b/docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md @@ -49,14 +49,28 @@ 4. 涉及正式站聲明必用 production API / browser / Gitea run 證據,不引用舊報告。 5. 每個 phase 完成後推 `gitea main`,除非該 phase 明確標記為純本地盤點且不可部署。 +## 階段驗證矩陣 + +| Phase | 必做驗證 | 必看頁面 / 端點 | 完成門檻 | +| --- | --- | --- | --- | +| Phase 0 導航 IA | i18n JSON、TypeScript、build、Browser desktop/mobile、production smoke | `/zh-TW/awooop`、`/zh-TW/awooop/work-items`、`/zh-TW/awooop/runs`、`/zh-TW/awooop/approvals` | 本地與正式站都顯示新導航,`horizontalOverflow=0` | +| Phase 1 AI 自動化飛輪真相 | DB / API / Browser 三方交叉查同一 incident / run | `/zh-TW/awooop`、`/zh-TW/awooop/runs`、`/zh-TW/awooop/work-items`、相關 platform operator API | 同一事件能看見 stage timeline、AI action、MCP evidence、approval gate、repair / verifier 狀態 | +| Phase 2 告警資料鏈路 | DB alert records、API 詳情 / 歷史、Browser Alerts / Runs、dedupe 統計 | `/zh-TW/awooop`、`/zh-TW/awooop/runs`、告警詳情 / 歷史連結 | Telegram 告警都有 DB 對應事件;詳情 / 歷史不 400;fingerprint recurrence 可查 | +| Phase 3 AI Provider / Agent 主責 | API route status、run detail evidence、Browser AI route 區塊 | `/zh-TW/governance`、`/zh-TW/awooop/runs`、`/api/v1/platform/ai-route-status` | provider、model、fallback reason、latency、token、result 在 API 與前端一致 | +| Phase 4 KM 劣化治理 | KB healthcheck run、DB stale ratio、Browser Work Items / Knowledge Base | `/zh-TW/knowledge`、`/zh-TW/awooop/work-items` | stale KM 有 owner、來源、引用次數、下一步;高影響更新需 owner review | +| Phase 5 前端產品化 | i18n JSON、TypeScript、build、desktop/mobile Browser smoke | 首頁、`/zh-TW/awooop/runs`、`/zh-TW/awooop/work-items`、`/zh-TW/operations`、`/zh-TW/deployments` | 真資料可讀;無硬編文案、無 emoji icon、mobile 可上下滾且 `horizontalOverflow=0` | +| Phase 6 Ansible / PlayBook / Auto Repair | API / DB repair record、PlayBook trust score、verifier evidence | `/zh-TW/awooop/runs`、`/zh-TW/awooop/approvals` | 每次 repair 都有 PlayBook 版本、MCP evidence、執行結果、verifier、KM / timeline 回寫 | +| Phase 7 既有紅燈驗證 | production DB / host / workflow 只讀驗證 | RLS policy、`.gitea/workflows/*`、host health evidence | 不引用舊報告;每個紅燈都有 live evidence、風險判讀與下一步 | +| Phase 8 技術債 / 清理 | `rg` 掃舊文案 / 假資料 / 硬編 IP、前端 build、Browser smoke | 被清理的對應頁面 | 清掉的項目不再出現在正式站;無新空狀態或破版 | + ## Phase 0 - 導航 IA 第一波 | 欄位 | 內容 | | --- | --- | | 優先級 | P0 | | 目標 | 先修目前最直觀的 UX 阻塞:全域導航排序混亂、AwoooP 頁內入口難掃描、部分 UI 文字硬編。 | -| 狀態 | 已推 Gitea main,正式站 rollout 待完成 | -| 完成度 | 96% | +| 狀態 | 已推 Gitea main,正式站 Browser smoke 通過 | +| 完成度 | 100% | 細項: - [x] 以「處理佇列 / 真相與治理 / 營運 / 系統」重排 Sidebar。 @@ -73,23 +87,35 @@ - [x] Browser desktop 1440px:Sidebar 顯示新順序,AwoooP secondary nav 顯示新順序。 - [x] Browser mobile 390px:`horizontalOverflow=0`。 - [x] 推 `gitea main`:`973fc7a4 feat(web): refine operator navigation IA`。 -- [ ] 記錄 Gitea run / production 證據。 +- [x] Production Browser smoke:`/zh-TW/awooop?_v=2555c811-phase1-precheck` 顯示新 Sidebar、新 AwoooP 二級導航與 `horizontalOverflow=0`。 ## Phase 1 - P0 AI 自動化飛輪真相盤點 | 欄位 | 內容 | | --- | --- | | 優先級 | P0 | -| 狀態 | 未開始 | +| 狀態 | 盤點中:SLO 已回綠,流程斷點已定位,待修 timeline / Telegram / gate 對照 | +| 本階段完成度 | 38% | | 目標完成度 | 完整 AI 自動化飛輪 69% → 75% | 細項: -- [ ] 查 `auto_execute_success_rate` SLO 違反原因,對照最近自動修復任務。 -- [ ] 盤點流程是否真跑完:alert ingest → classify → rule match → MCP evidence → PlayBook → approval gate → Ansible/repair → verifier → KM → postmortem。 +- [x] 查 `auto_execute_success_rate` SLO 違反原因,對照最近自動修復任務。 +- [x] 盤點流程是否真跑完:alert ingest → classify → rule match → MCP evidence → PlayBook → approval gate → Ansible/repair → verifier → KM → postmortem。 - [ ] 補 timeline event:每個 incident 必須看到 stage、handler、AI action、manual need。 - [ ] Telegram 告警補 stage、next action、blocked reason、auto/manual。 - [ ] 建立風險分級與 approval gate 對照表,釐清中低風險是否允許 AI 自動修復。 -- [ ] 確認 MCP / 自建 MCP 實際 tool call、evidence、result 有被前端顯示。 +- [ ] 確認 MCP / 自建 MCP 實際 tool call、evidence、result 有被前端顯示;目前 Runs 表格可見 MCP summary,但 result / blocker 還不夠一眼可讀。 + +Live evidence: +- Production `/api/v1/ai/slo?force_refresh=true`:`auto_execute_success_rate=90.2%`、`human_override_rate=0.5%`、`verifier_false_neg_rate=0.0%`,目前 `any_violated=false`。 +- ADR-100 24h verification coverage:`skipped_low_volume`,原因 `no_auto_repair_executions_24h`;代表 SLO 回綠,但最近 24h 沒有可評估的 auto repair execution。 +- Production runs:`/api/v1/platform/runs/list?project_id=awoooi&per_page=10` 回 `total=22700`;`mcp_observed` filter 回 `total=4391`;`read_only_dry_run` filter 回 `total=7`。 +- `INC-20260603-9B2535` timeline:alert / investigator / approval 可見,但 `timeline_events=0`、`timeline_missing_for_approval`、executor / verifier / KM skipped,代表 pending approval 的 lifecycle 留痕不足。 +- `INC-20260601-1B3388` timeline:有完整 webhook → investigator → ai_router → llm → target → blast → safe → executor → verifier → close;狀態為 execution failed / manual required,MCP gateway 36 筆,verifier degraded,KM 未回寫。 +- Production `/api/v1/platform/status-chain` 合併 `INC-20260603-9B2535` + `INC-20260601-1B3388`:`current_stage=execution_failed`、`needs_human=true`、`next_step=manual_fix_or_rollback`、Ansible 候選 3 筆但未使用。 +- Production `/api/v1/platform/ai-route-status?workload_type=deep_rca`:policy order 為 `ollama_gcp_a → ollama_gcp_b → ollama_local → gemini`,目前 selected provider `ollama_gcp_a`,Gemini 仍是 final fallback。 +- Browser smoke:`/zh-TW/awooop/runs?project_id=awoooi` 表格載入 50 列,含 `INC-20260603-9B2535` 與 MCP 摘要,`horizontalOverflow=0`;Automation Flow Gate 顯示 28 件、8 個 blocked gate、verified auto repair 0。 +- Browser smoke:`/zh-TW/awooop/work-items` 與 `/zh-TW/awooop/approvals` 可開且 `horizontalOverflow=0`,但未直接浮出 `INC-20260603-9B2535` / `INC-20260601-1B3388` 的可操作下一步。 驗收: - [ ] DB / API / browser 都能查到同一 incident 的 stage timeline。 @@ -229,3 +255,5 @@ | 2026-06-04 | Phase 0 | 0% | 建立工作清單,開始導航 IA 第一波 | | 2026-06-04 | Phase 0 | 92% | 導航 IA 本地驗證完成,待 Gitea 推版與正式站證據 | | 2026-06-04 | Phase 0 | 96% | `973fc7a4` 已推 Gitea main;正式站仍顯示舊 Sidebar,待 CD rollout | +| 2026-06-04 | Phase 0 | 100% | 正式站已顯示新 Sidebar / AwoooP subnav,`horizontalOverflow=0` | +| 2026-06-04 | Phase 1 | 38% | SLO 回綠;定位 pending approval timeline 留痕、manual-required 狀態浮現與 Runs/Work Items 可視性缺口 |