feat(awooop): surface telegram callback coverage
All checks were successful
CD Pipeline / tests (push) Successful in 1m21s
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / build-and-deploy (push) Successful in 3m59s
CD Pipeline / post-deploy-checks (push) Successful in 1m20s

This commit is contained in:
Your Name
2026-05-25 16:56:28 +08:00
parent b7ee1f47ff
commit 449c4ac807
7 changed files with 524 additions and 0 deletions

View File

@@ -20231,3 +20231,55 @@ production pod formatter smoke:
- KM governance約 84.5%。
- AI Provider lane visibility約 92.2%。
- 完整 AI 自動化管理產品化:約 96.9%。
---
## 2026-05-25 T183 — Run 監控補 Telegram Outbound / Callback Coverage Summary
**背景**
- 使用者要求不只改善 Telegram 訊息文字,也要確認「所有告警訊息是否完整寫入 DB、是否能反查到 AwoooP / Sentry / SigNoz / MCP / PlayBook / KM 相關證據」。
- production 查詢顯示 `awooop_outbound_message` 已有 `5256` 筆 Telegram outbound mirror但 callback reply evidence 目前只有 `2` 筆,且是舊 rollout 前資料,`awooop_status_chain` / KM callback snapshot captured 皆為 `0`
- 既有 `/api/v1/platform/runs/callback-replies` 已能列出 callback reply event 與 live AwoooP status chain但頁面缺少一眼可讀的 coverage summary操作者仍難以判斷目前是「沒有資料」、「舊資料未捕捉 snapshot」或「新流程已完整捕捉」。
**本輪修正**
- `/api/v1/platform/runs/callback-replies` 回傳新增 `summary`
- Telegram outbound mirror total / source envelope total / source_refs total / incident refs total。
- Callback reply total、detail/history 分布、sent/fallback/rescue/failed 分布。
- Callback snapshot captured / partial / missing 統計。
- `snapshot_status``next_action`,讓 UI 明確顯示下一步是補按 Telegram 詳情/歷史、檢查 source_refs或不需處理。
- Run 監控頁 `TG Callback Evidence` 區塊新增 coverage summary band
- 出站鏡像、Callback replies、Evidence snapshots、送達失敗、下一步。
- 不新增 fake data所有數據來自 `awooop_outbound_message.source_envelope` 的只讀聚合。
- 新增 API response schema 與 unit tests確保 summary 會被 Pydantic response 保留,並能標示 legacy callback snapshot missing。
**local validation完成**
```text
python3 -m py_compile apps/api/src/services/platform_operator_service.py apps/api/src/api/v1/platform/operator_runs.py apps/api/tests/test_awooop_operator_timeline_labels.py
jq empty apps/web/messages/zh-TW.json apps/web/messages/en.json
git diff --check
PYTHONPATH=. DATABASE_URL='postgresql+asyncpg://test:test@localhost/test' /Users/ogt/.pyenv/shims/pytest tests/test_awooop_operator_timeline_labels.py -q
51 passed in 1.19s
pnpm --dir apps/web exec tsc --noEmit --tsBuildInfoFile /tmp/awoooi-t183-tsconfig.tsbuildinfo
pnpm --dir apps/web lint -- --file 'src/app/[locale]/awooop/runs/page.tsx'
pass with pre-existing i18next/no-literal-string warnings in the same file
NEXT_PUBLIC_API_URL=https://awoooi.wooo.work pnpm --dir apps/web run build
```
**目前整體進度**
- AwoooP 告警可觀測鏈:約 99.52%。
- 低風險自動修復閉環:約 95.8%。
- 前端 AI 自動化管理介面同步:約 98.9%。
- 首頁 KPI / 小龍蝦流程 truth alignment約 96.5%。
- Telegram 詳情 / 歷史可追溯:約 98.2%。
- Telegram outbound / callback DB coverage 可視化:約 97.6%。
- callback / DB replayability約 97.3%。
- MCP / 自建 MCP 可視化:約 95.0%。
- Sentry / SigNoz source correlation約 93.5%。
- Ansible / PlayBook 可視化:約 92.5%。
- KM governance約 84.5%。
- AI Provider lane visibility約 92.2%。
- 完整 AI 自動化管理產品化:約 97.1%。