docs(logbook): 2026-04-16 E2E 全節點驗證 + 生產 bug 修復記錄
2026-04-16 Claude Sonnet 4.6 Asia/Taipei Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,43 @@
|
||||
|
||||
---
|
||||
|
||||
## 📍 2026-04-16 — E2E 全節點驗證 + 生產 bug 連環修復
|
||||
|
||||
### 問題背景
|
||||
Sweeper 首次啟動把 117 個歷史 incident(最舊 7 天)全部洗版到 Telegram,
|
||||
用戶反映「所有告警訊息都長得好像」(全部降級 confidence=20%)
|
||||
|
||||
### 根本原因鏈
|
||||
|
||||
1. **Sweeper key bug**: 檢查 `decision:INC-*`(不存在),沒有設置 done marker → 每輪都認為未分析
|
||||
2. **CAST SQL bug**: `decision_chain = :dc::json` → asyncpg 語法錯誤 → 學習記錄無法寫入 DB
|
||||
3. **Age filter 缺失**: 啟動時一次觸發所有歷史 incident → Telegram 洪水
|
||||
4. **shadow_mode 卡住**: ConfigMap 已改 false,但 Pod 在更新前創建 → 載入舊值 true
|
||||
5. **flywheel stats bug**: `incidents.outcomes` 欄位不存在(應為 `outcome`) → stats/summary API 500
|
||||
6. **Telegram method bug**: `_make_request` 不存在(正確方法名 `_send_request`) → 分析完後推送失敗
|
||||
|
||||
### 修復 Commits
|
||||
|
||||
| Commit | 修復 | 狀態 |
|
||||
|--------|------|------|
|
||||
| `20b3fef` | sweeper key format: `sweeper_done:INC-*` marker | ✅ 已部署 |
|
||||
| `0760315` | CAST SQL + shadow_mode=false | ✅ 已部署 |
|
||||
| `9bfa6fc` | sweeper 48h 舊案過濾 | ✅ 已部署 |
|
||||
| `1e86cc2` | flywheel `outcome` 欄位 | 🔄 CI 894 |
|
||||
| `f5e33da` | telegram `_send_request` 方法名稱 | 🔄 CI 894 |
|
||||
|
||||
### E2E 驗證結果
|
||||
|
||||
全 10 節點驗證通過(詳見 project_current_status.md)
|
||||
|
||||
### 其他改善
|
||||
|
||||
- KM 16 筆缺漏 embedding → 補齊(867/867 全有向量)
|
||||
- AIOPS_P4_SHADOW_MODE=false 生效(rollout restart + 新 pod 確認)
|
||||
- proactive_inspector: shadow_mode=false,anomalies=0(系統健康)
|
||||
|
||||
---
|
||||
|
||||
## 📍 2026-04-15 深夜 — AI 自主化飛輪 Phase 4-6 全完成 + 生產全開 🎉
|
||||
|
||||
### Phase 4 異常偵測升級(commit 14a0226,ADR-084)
|
||||
|
||||
Reference in New Issue
Block a user