docs(logbook): record km completion callback evidence [skip ci]
This commit is contained in:
@@ -1,3 +1,88 @@
|
||||
## 2026-05-25|T163 KM completion state in Telegram callback evidence
|
||||
|
||||
**背景**:
|
||||
|
||||
- T162 已把 KM stale completion queue 狀態加到 Work Items summary 與 Telegram detail/history 回覆。
|
||||
- 但 Operator Console 的 `/awooop/runs` TG Callback Evidence 只看得到「詳情 / 歷史有沒有送達」,還不能直接看到該 callback 對應的 KM owner-review completion 狀態。
|
||||
- 本階段目標是把 callback reply evidence 也接上 `km_stale_owner_review_completion_callback_summary_v1`,讓「送達狀態」和「後續 KM owner-review 卡點」同屏可查。
|
||||
|
||||
**完成變更**:
|
||||
|
||||
- `GET /api/v1/platform/runs/callback-replies` 每筆 item 新增 `km_stale_completion_summary`:
|
||||
- read-only 查詢 completion queue;不改 incident、run、KM、governance audit。
|
||||
- 以 callback `incident_id` 對應 completion queue item 的 `related_incident_id`。
|
||||
- 顯示 ready / blocked / completed / failed counts、`manual_review_required`、`batch_writes_allowed`、`writes_on_read`。
|
||||
- 若沒有對應 item,明確回 `status=no_related_owner_review`,避免 operator 以為流程消失。
|
||||
- `/zh-TW/awooop/runs` TG Callback Evidence card 新增 `KM Owner Review` 區塊:
|
||||
- 顯示 matched / no-related / fetch-failed 狀態。
|
||||
- 顯示 completion counts 與 guardrail。
|
||||
- 保留 AwoooP status chain 原本 execution / MCP / source-provider evidence。
|
||||
|
||||
**本地驗證**:
|
||||
|
||||
```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
|
||||
/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
|
||||
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 apps/api/tests/test_ai_governance_endpoints.py -q
|
||||
-> 104 passed
|
||||
pnpm --filter @awoooi/web exec tsc --noEmit --incremental false
|
||||
pnpm --dir apps/web exec next lint --file 'src/app/[locale]/awooop/runs/page.tsx'
|
||||
-> exit 0, only pre-existing i18n literal warnings in this page
|
||||
python3 -m json.tool apps/web/messages/zh-TW.json
|
||||
python3 -m json.tool apps/web/messages/en.json
|
||||
git diff --check
|
||||
```
|
||||
|
||||
**production deploy / smoke**:
|
||||
|
||||
```text
|
||||
Code commit:
|
||||
760d6745 feat(governance): surface km completion callback evidence
|
||||
|
||||
Deploy marker:
|
||||
fcaaad87 chore(cd): deploy 760d674 [skip ci]
|
||||
|
||||
Gitea Actions:
|
||||
3022 / run_number 2079 Code Review -> success
|
||||
3021 / run_number 2078 CD -> success
|
||||
3991 tests -> success
|
||||
3992 build-and-deploy -> success
|
||||
3993 post-deploy-checks -> success
|
||||
|
||||
Production API:
|
||||
GET https://awoooi.wooo.work/api/v1/platform/runs/callback-replies?project_id=awoooi&per_page=3
|
||||
-> total=2, items=2
|
||||
-> every item includes km_stale_completion_summary
|
||||
-> sample incident INC-20260524-16109D: status=no_related_owner_review, ready_count=10
|
||||
|
||||
Production frontend:
|
||||
https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&incident_id=INC-20260524-16109D&callback_reply_status=sent
|
||||
-> HTTP 200
|
||||
-> TG Callback Evidence visible
|
||||
-> KM Owner Review visible
|
||||
-> no-related owner review state visible
|
||||
-> guardrail visible: writes_on_read=false, batch_writes_allowed=false, manual_review_required=true
|
||||
-> consoleErrors=0, pageErrors=0
|
||||
-> screenshot: /tmp/t163-runs-callback-km-production.png
|
||||
```
|
||||
|
||||
**production health note**:
|
||||
|
||||
- `GET /api/v1/health` 回 `status=degraded`,不是本階段功能造成。
|
||||
- 子狀態:API / PostgreSQL / Redis / OpenClaw / SigNoz up;`ollama_gcp_a=down timeout`,`ollama_gcp_b=up`。
|
||||
- `GET /api/v1/platform/ai-route-status?workload_type=deep_rca` 顯示 selected_provider=`ollama_gcp_b`,policy order 仍為 `ollama_gcp_a -> ollama_gcp_b -> ollama_local -> gemini`,符合既定 fallback 順序。
|
||||
- 本機到 120 K8s API / SSH 暫時不可達;K8s rollout 以 Gitea CD post-deploy success 與 production API / frontend smoke 作為本階段部署證據。
|
||||
|
||||
**目前整體進度**:
|
||||
|
||||
- AwoooP 告警可觀測鏈:約 97.5%。
|
||||
- 低風險自動修復閉環:約 95%。
|
||||
- 前端 AI 自動化管理介面同步:約 93%。
|
||||
- CI/CD 通知與部署證據鏈:約 99%。
|
||||
- 治理告警可讀性 / 可處置性:約 91%。
|
||||
- KM owner-review / completion 可治理鏈:約 74%。
|
||||
- 完整 AI 自動化管理產品化:約 90.2%。
|
||||
|
||||
## 2026-05-24|T162 KM stale completion state in Work Items summary + Telegram detail/history
|
||||
|
||||
**觸發**:
|
||||
|
||||
Reference in New Issue
Block a user