docs(logbook): record callback capture list summary [skip ci]
This commit is contained in:
100
docs/LOGBOOK.md
100
docs/LOGBOOK.md
@@ -1,3 +1,103 @@
|
||||
## 2026-05-25|T171 Runs list 顯示 Callback Snapshot Capture 摘要
|
||||
|
||||
**背景**:
|
||||
|
||||
- T170 已讓 TG Callback Evidence card 顯示每筆 callback 的 `evidence_capture_status`。
|
||||
- Runs 列表的 TG Callback 欄仍只顯示送達 / fallback / 失敗,Operator 必須往下看 callback card 才知道 snapshot 是否真的持久化。
|
||||
- 本階段只補 Run-level read model 與前端摘要,不改 Telegram callback、不寫 incident / KM / auto-repair 狀態。
|
||||
|
||||
**完成變更**:
|
||||
|
||||
- `_run_callback_reply_summary()` 新增 capture 彙總欄位:
|
||||
- `capture_status`:整個 Run 的 callback snapshot 狀態。
|
||||
- `capture_captured` / `capture_partial` / `capture_not_captured`:分別統計已捕捉、部分捕捉、未捕捉 callback。
|
||||
- `latest_capture_status` / `latest_capture_missing` / `latest_capture_next_action`:保留最新 callback 的缺口與下一步。
|
||||
- Runs table 的 TG Callback cell 新增 Snapshot 摘要列:
|
||||
- `Snapshot:已捕捉 / 部分捕捉 / 未捕捉`。
|
||||
- 顯示已捕捉 / 部分 / 未捕捉數量。
|
||||
- hover title 顯示最新 callback 尚缺的 snapshot 類型。
|
||||
- zh-TW / en i18n 已補齊;未新增 Telegram 訊息或通知頻率。
|
||||
|
||||
**本地驗證**:
|
||||
|
||||
```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
|
||||
DATABASE_URL='postgresql+asyncpg://test:test@localhost:5432/test?ssl=disable' /Users/ogt/.pyenv/versions/3.11.7/bin/pytest apps/api/tests/test_awooop_operator_timeline_labels.py -q
|
||||
-> 47 passed
|
||||
/Users/ogt/.pyenv/versions/3.11.7/bin/ruff check --select F,E9 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
|
||||
python3 -m json.tool apps/web/messages/zh-TW.json >/dev/null
|
||||
python3 -m json.tool apps/web/messages/en.json >/dev/null
|
||||
pnpm --filter @awoooi/web exec tsc --noEmit --incremental false
|
||||
git diff --check
|
||||
pnpm --filter @awoooi/web exec eslint 'src/app/[locale]/awooop/runs/page.tsx'
|
||||
-> 0 errors, 26 pre-existing i18n warnings in this file
|
||||
Local Playwright smoke with mocked API:
|
||||
-> Snapshot:未捕捉 visible
|
||||
-> 已捕捉 0 / 部分 0 / 未捕捉 2 visible
|
||||
-> page errors=0
|
||||
```
|
||||
|
||||
**production deploy / smoke**:
|
||||
|
||||
```text
|
||||
Code commit:
|
||||
e1e640f5 feat(awooop): summarize callback capture in runs list
|
||||
|
||||
Deploy markers:
|
||||
4edcb5b5 chore(cd): deploy e1e640f [skip ci]
|
||||
f169085c chore(cd): deploy e1e640f [skip ci]
|
||||
|
||||
Gitea Actions:
|
||||
3060 / run_number 2099 CD -> success
|
||||
job 4063 tests -> success
|
||||
job 4064 build-and-deploy -> success
|
||||
job 4065 post-deploy-checks -> success
|
||||
3061 / run_number 2100 Code Review -> success
|
||||
|
||||
Production API regression:
|
||||
GET https://awoooi.wooo.work/api/v1/platform/runs/list?project_id=awoooi&callback_reply_status=sent&per_page=5
|
||||
-> total=2
|
||||
-> callback_reply_summary.capture_status=not_captured
|
||||
-> capture_captured=0, capture_partial=0, capture_not_captured=1
|
||||
-> latest_capture_missing=[awooop_status_chain, km_stale_completion_summary]
|
||||
|
||||
Production web smoke:
|
||||
HEAD https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&callback_reply_status=sent
|
||||
-> HTTP 200
|
||||
Production Playwright:
|
||||
-> Snapshot:未捕捉 visible
|
||||
-> 未捕捉 count visible
|
||||
-> page errors=0
|
||||
```
|
||||
|
||||
**production health note**:
|
||||
|
||||
- `GET /api/v1/health` 在 T171 smoke 時回 `status=degraded`,但 API / PostgreSQL / Redis / OpenClaw / SigNoz 為 up。
|
||||
- Degraded 原因是 Ollama lane:
|
||||
- `ollama`: down,`all Ollama endpoints unavailable`。
|
||||
- `ollama_gcp_a`: down connection refused。
|
||||
- `ollama_local`: down / reset。
|
||||
- `ai-route-status` 目前 selected_provider=Gemini,原因為 GCP-A/GCP-B/111 都不可用。
|
||||
- Pod 內直測:
|
||||
- `34.143.170.20:11434` 連不上。
|
||||
- `34.21.145.224:11434` 連不上。
|
||||
- `192.168.0.111:11434` connection reset。
|
||||
- 目前 SSH / GCP 控制面權限不足以直接修 GCP-B 或 111;下一段需專門做 Ollama lane runtime 修復與路由 label 校正。
|
||||
|
||||
**目前整體進度**:
|
||||
|
||||
- AwoooP 告警可觀測鏈:約 99.2%。
|
||||
- 低風險自動修復閉環:約 95.5%。
|
||||
- 前端 AI 自動化管理介面同步:約 96.4%。
|
||||
- Telegram detail/history 可解釋性:約 95.5%。
|
||||
- Callback evidence / DB 回放性:約 95.6%。
|
||||
- MCP / 自建 MCP 使用可視性:約 88%。
|
||||
- Sentry / SigNoz source correlation 可視性:約 88%。
|
||||
- Ansible / PlayBook 決策可視性:約 84%。
|
||||
- KM owner-review / completion 可治理鏈:約 84%。
|
||||
- AI Provider lane 健康度:約 65%(GCP-A/GCP-B/111 目前不可用,Gemini final fallback 生效)。
|
||||
- 完整 AI 自動化管理產品化:約 93.1%。
|
||||
|
||||
## 2026-05-25|T170 Callback Evidence Capture 狀態顯示
|
||||
|
||||
**背景**:
|
||||
|
||||
Reference in New Issue
Block a user