From 814a44d53991def78a3f5c8bfcfeaf5c0e9887ce Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 25 May 2026 11:06:12 +0800 Subject: [PATCH] docs(logbook): record callback capture status [skip ci] --- docs/LOGBOOK.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index c4d14631..56b30ead 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,96 @@ +## 2026-05-25|T170 Callback Evidence Capture 狀態顯示 + +**背景**: + +- T167-T169 已保存 callback-time KM owner-review、AwoooP status-chain、MCP / Execution / Source snapshot。 +- production 仍有較早的 Telegram 詳情 / 歷史 callback rows 沒有 persisted snapshot;前端原本只是不顯示 snapshot,Operator 容易誤判成頁面壞掉或 DB 沒資料。 +- 本階段只補 read-only capture status,不反向改舊 Telegram 訊息、不寫 incident / KM / auto-repair 狀態、不新增通知頻率。 + +**完成變更**: + +- AwoooP callback replies API 每筆新增 `evidence_capture_status`: + - schema:`callback_evidence_capture_status_v1`。 + - `status`:`captured` / `partial` / `not_captured` / `observed`。 + - `captured` / `missing` 明列是否已保存 `awooop_status_chain` 與 `km_stale_completion_summary`。 + - `reason` 區分 `ok`、`partial_snapshot_rollout_transition`、`legacy_callback_before_snapshot_rollout`、`callback_reply_delivery_failed_snapshot_missing`。 + - `next_action` 對舊 row 指向「重新按 Telegram 詳情 / 歷史,產生新版 callback snapshot」。 +- Runs 頁 `TG Callback Evidence` card 新增「Evidence Capture 狀態」: + - 已捕捉 / 部分捕捉 / 未捕捉 badge。 + - 顯示已捕捉項、尚缺項、下一步與 rollout marker。 + - zh-TW / en i18n 已補齊,未新增硬編 UI 文案。 + +**本地驗證**: + +```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 +python3 -m json.tool apps/web/messages/zh-TW.json +python3 -m json.tool apps/web/messages/en.json +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 + -> 46 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 +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: + -> Evidence Capture 狀態 visible + -> 未捕捉 visible + -> 下一步「重新按 Telegram 詳情 / 歷史」visible +``` + +**production deploy / smoke**: + +```text +Code commit: +04684eef feat(awooop): show callback evidence capture status + +Deploy marker: +3ca834c3 chore(cd): deploy 04684ee [skip ci] + +Gitea Actions: +3056 / run_number 2097 CD -> success + job 4055 tests -> success + job 4056 build-and-deploy -> success + job 4057 post-deploy-checks -> success +3057 / run_number 2098 Code Review -> success + +Production API regression: +GET https://awoooi.wooo.work/api/v1/platform/runs/callback-replies?project_id=awoooi&per_page=3 + -> total=2 + -> old rows return evidence_capture_status.status=not_captured + -> missing=[awooop_status_chain, km_stale_completion_summary] + -> next_action=press_telegram_detail_or_history_after_rollout + +Production web smoke: +HEAD https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi + -> HTTP 200 +Production Playwright: + -> Evidence Capture 狀態 count=2 + -> 未捕捉 visible + -> 重新按 Telegram 詳情 / 歷史 visible + -> page errors=0 + +Production health: +GET https://awoooi.wooo.work/api/v1/health + -> status=healthy + -> environment=prod + -> mock_mode=false + -> api/postgresql/redis/ollama/openclaw/signoz=up +``` + +**目前整體進度**: + +- AwoooP 告警可觀測鏈:約 99.1%。 +- 低風險自動修復閉環:約 95.5%。 +- 前端 AI 自動化管理介面同步:約 96.1%。 +- Telegram detail/history 可解釋性:約 95.3%。 +- Callback evidence / DB 回放性:約 95%。 +- MCP / 自建 MCP 使用可視性:約 88%。 +- Sentry / SigNoz source correlation 可視性:約 88%。 +- Ansible / PlayBook 決策可視性:約 84%。 +- KM owner-review / completion 可治理鏈:約 84%。 +- 完整 AI 自動化管理產品化:約 92.9%。 + ## 2026-05-25|T169 Callback evidence 補齊 MCP / Source / Execution snapshot **背景**: