docs(logbook): record telegram card format deployment [skip ci]
This commit is contained in:
@@ -4529,3 +4529,86 @@ docker-health-monitor.sh / pg-backup.sh scp 同步出現 unknown option -- n;
|
||||
```
|
||||
|
||||
判讀:Gateway 內部直送收斂已進正式 image。下一個工作項目應切到「同一 firing alert fingerprint 聚合」與 AwoooP Timeline UI,不再把完整執行細節堆到 Telegram。
|
||||
|
||||
### 01:10 Telegram 告警卡片格式收斂
|
||||
|
||||
**背景**:
|
||||
|
||||
- Telegram 群組內仍出現兩類難以判讀的純文字訊息:
|
||||
- `Auto Runbook 待審核` 直接傾倒 Markdown preview,會把 `## 症狀描述`、長 SSH command 與失敗細節塞進訊息。
|
||||
- `AI 治理警報` 直接列 raw key/value,`trust_drift`、`knowledge_degradation`、`governance_slo_data_gap` 在群組內不易掃描,也不容易分辨影響、修復方向與可自動化工作。
|
||||
|
||||
**改動**:
|
||||
|
||||
- `runbook_generator.py` 新增 `format_runbook_review_card()`:
|
||||
- 將 Runbook 待審核訊息改為 HTML 卡片。
|
||||
- 顯示 Incident、受影響服務、DRAFT 狀態、Entry ID、內容摘要與審核重點。
|
||||
- 偵測 `{host}`、`{target}`、`Unsupported scheme`、`Invalid component name` 等 placeholder / 不支援執行步驟,改以人工修正提示呈現,避免 Telegram 直接被長 command 洗版。
|
||||
- `failover_alerter.py` 新增 `format_governance_alert_card()`:
|
||||
- 將 AI 治理警報改為 MarkdownV2 卡片。
|
||||
- 對 `trust_drift`、`knowledge_degradation`、`governance_slo_data_gap` 等事件提供中文顯示名稱與固定影響摘要欄位。
|
||||
- 保留原本 governance payload 與 dedup 行為,只在 Telegram 邊界層整理成「影響摘要 / 修復方向 / 可自動化工作 / 補充欄位」。
|
||||
- 備援欄位最多顯示 4 筆,避免 raw payload 洗版。
|
||||
- 補測:
|
||||
- Governance card:知識庫劣化事件會顯示陳舊 KM、總 KM、比例、門檻、下一步,不再出現舊式欄位快覽。
|
||||
- Runbook card:不直接輸出 `##` Markdown heading,也不直接輸出 `ssh{host}` placeholder command。
|
||||
|
||||
**驗證**:
|
||||
|
||||
```text
|
||||
py_compile:
|
||||
apps/api/src/services/runbook_generator.py
|
||||
apps/api/src/services/failover_alerter.py
|
||||
apps/api/tests/test_failover_alerter.py
|
||||
apps/api/tests/test_phase25_auto_harvesting.py
|
||||
# passed
|
||||
|
||||
pytest:
|
||||
apps/api/tests/test_failover_alerter.py
|
||||
apps/api/tests/test_phase25_auto_harvesting.py
|
||||
apps/api/tests/test_governance_agent.py
|
||||
apps/api/tests/test_p2_db_fixes.py
|
||||
# 63 passed
|
||||
|
||||
ruff import check:
|
||||
apps/api/src/services/runbook_generator.py
|
||||
apps/api/tests/test_failover_alerter.py
|
||||
# All checks passed
|
||||
```
|
||||
|
||||
**生產部署**:
|
||||
|
||||
```text
|
||||
Commit:
|
||||
341c3b65 fix(telegram): format governance and runbook alerts
|
||||
|
||||
Gitea workflows:
|
||||
1837 CD Pipeline:
|
||||
- tests -> success
|
||||
- build-and-deploy -> success
|
||||
- post-deploy-checks -> success
|
||||
1838 Code Review -> success
|
||||
|
||||
CD deploy marker:
|
||||
68e741e0 chore(cd): deploy 341c3b6 [skip ci]
|
||||
|
||||
awoooi-api image:
|
||||
192.168.0.110:5000/awoooi/api:341c3b6523a9ba6f9dfbdd5321de5d1a5a353743
|
||||
|
||||
awoooi-web image:
|
||||
192.168.0.110:5000/awoooi/web:341c3b6523a9ba6f9dfbdd5321de5d1a5a353743
|
||||
|
||||
K8s rollout:
|
||||
awoooi-api -> successfully rolled out
|
||||
awoooi-web -> successfully rolled out
|
||||
awoooi-api pods -> 2/2 Running, 0 restarts
|
||||
|
||||
HTTP:
|
||||
/api/v1/health -> 200
|
||||
/zh-TW -> 200
|
||||
/zh-TW/awooop -> 200
|
||||
/zh-TW/awooop/runs -> 200
|
||||
/zh-TW/awooop/approvals -> 200
|
||||
```
|
||||
|
||||
判讀:這次只改 Telegram 顯示邊界,未改 AI provider、費用策略、routing 或 MCP 執行路徑。下一步應延續「訊息治理」方向,把同一 incident / firing fingerprint 的多則執行結果聚合成單一 thread / timeline,並讓 Telegram 只保留摘要與人工決策入口。
|
||||
|
||||
Reference in New Issue
Block a user