diff --git a/docs/superpowers/specs/2026-04-10-infra-rebuild-sprint-abc-design.md b/docs/superpowers/specs/2026-04-10-infra-rebuild-sprint-abc-design.md index b604ca0f..da351326 100644 --- a/docs/superpowers/specs/2026-04-10-infra-rebuild-sprint-abc-design.md +++ b/docs/superpowers/specs/2026-04-10-infra-rebuild-sprint-abc-design.md @@ -2784,3 +2784,79 @@ ADR-071-J: KM 三段資料整合 --- *文件版本 v2.2(2026-04-11)— 新增 ADR-071-A0(alert_category 寫入點)+ 修正 ADR-071-B 位置(前移至 decision_manager)+ 工作順序重排 D→A→A0→B→C→E→F→G→H,修復線上 "deployment unknown" 根因* + +--- + +## 15. Subsystem 1 核心飛輪修復路線圖(2026-04-12 更新) + +> **整合來源**: ADR-073 全面盤點 + ADR-074 監控補全規劃 +> **完整規格**: `docs/superpowers/specs/2026-04-12-aiops-complete-flywheel-repair-design.md` +> **當前狀態**: 等待 CD 解鎖(修復進度 0/4) + +### 15.1 四階段路線圖(截圖定案) + +``` +階段 1:CD 阻塞清除 + 部署 8be87b0(解除 MCP 守衛限制、啟動自動化部署管線) + ├─ 解除 MCP _collect_mcp_context() 封鎖 + ├─ debounce 5→30 分鐘 + ├─ signals alertname NULL 修復 + ├─ 冷啟動 Playbook 生成腳本 + └─ 690 筆 KM 批次向量化腳本 + ↓(階段 1 完成後解鎖) + +階段 2:數據完整性(ADR-071-A/A0) + DB 遷移與類別注入 + ├─ DB Migration: incidents +9 欄位(ADR-071-A) + ├─ alert_category 寫入點(ADR-071-A0) + └─ outcome / notification_type 三個寫入點補全 + ↓(階段 2 完成後解鎖) + +階段 3:路由與用戶體驗(ADR-071-B/C/E/F) + Telegram 決策管理 + ├─ 檢傷分類站前移 decision_manager(ADR-071-B)← Tier 3 + ├─ Docker/Host → SSH MCP 路徑(ADR-073-B2)← Tier 3 + ├─ TYPE-1 純資訊卡片 send_info_notification()(ADR-071-C) + ├─ TYPE-3 按鈕動態組合(ADR-071-E) + ├─ TYPE-4D Config Drift 卡片(ADR-071-F) + ├─ action 解析 | 修復(ADR-073-B3) + ├─ NO_ACTION → TYPE-1(ADR-073-B4) + └─ risk_level YAML 優先(ADR-073-B6) + ↓(階段 3 完成後解鎖) + +階段 4:知識引擎(ADR-071-G/H) + KM 閉環轉換 + ├─ KMConversionService(RESOLVED→KM→Playbook→向量化) + └─ TYPE-4 手動修復記錄 → 草稿 Playbook + ↓(飛輪完整閉環) +``` + +### 15.2 各階段的解鎖條件 + +| 階段 | 解鎖條件 | Tier | +|------|---------|------| +| 階段 1 | 無(立刻可做)| Tier 2 | +| 階段 2 | 階段 1 Pod 跑 8be87b0 確認 | Tier 1 | +| 階段 3 | 階段 2 DB Migration 完成 | Tier 3(需首席架構師授權)| +| 階段 4 | 階段 3 KMConversionService 前提(ADR-071-G 前提是 incidents 有 outcome)| Tier 2 | + +### 15.3 飛輪停擺的統計數據(觸發此路線圖的原因) + +| 指標 | 當前 | 目標(7天內)| +|------|------|-------------| +| Playbooks | 0 | ≥ 20 | +| EXECUTION_SUCCESS 率 | 0.5%(2/380)| ≥ 30% | +| KM vectorized | 0%(699 筆)| ≥ 90% | +| alertname NULL | 100% | 0% | +| debounce window | 5 分鐘 | 30 分鐘 | +| Docker/Host 告警成功率 | 0% | ≥ 50% | + +### 15.4 後續子系統(飛輪修復完成後) + +| 子系統 | 內容 | 前提 | +|--------|------|------| +| **ADR-074 監控補全** | 飛輪健康Exporter / 主機間網路 / DNS / Gitea CD / 備份還原 | 階段 1 完成 | +| **ADR-073-C 前端即時化** | flywheel stats API / WebSocket / KPI 面板連真實數據 | 階段 1 完成 | + +> **鐵律**:先修飛輪(Subsystem 1),再補監控(ADR-074),才有意義。 +> 新增監控告警在飛輪修復前只會製造更多 target=unknown 的 EXECUTION_FAILED 記錄。