From 46292459b7c3c9c30ca8deb1c0ce33e4c553a6d1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 25 May 2026 11:28:39 +0800 Subject: [PATCH] docs(logbook): record callback capture list summary [skip ci] --- docs/LOGBOOK.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 56b30ead9..715bd310f 100644 --- a/docs/LOGBOOK.md +++ b/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 狀態顯示 **背景**: