docs(logbook): record callback reply observed rollout [skip ci]

This commit is contained in:
Your Name
2026-06-04 21:13:11 +08:00
parent 658f46dd1d
commit e02fbb2fd1
2 changed files with 52 additions and 6 deletions

View File

@@ -1,3 +1,38 @@
## 2026-06-04AwoooP Callback Reply Observed Filter Repair
**背景**Phase 2 告警資料鏈路盤點時production callback replies API 出現可驗真紅燈:`/api/v1/platform/runs/callback-replies?project_id=awoooi&callback_reply_status=observed``total=0`,但同一 API summary 顯示 `callback_total=4``callback_sent_total=4``callback_failed_total=0`。這代表 `observed` 篩選器把已送達的 Telegram callback reply 排除掉,造成前端 / operator 查「已觀測」時看不到既有 history callback replies。
**本輪完成**
- `apps/api/src/services/platform_operator_service.py`:修正 `list_callback_replies()``callback_reply_status=observed` SQL 條件,讓 `observed` 代表「有 callback reply 證據」,不再排除 `callback_reply_sent` / fallback sent / rescue sent / failed。
- `apps/api/src/services/platform_operator_service.py`:同步修正 `_callback_reply_summary_matches_status()`,讓 `observed` 對 sent / fallback sent / failed 皆成立,只有 `no_callback` 不成立。
- `apps/api/tests/test_awooop_operator_timeline_labels.py`:補 status helper 測試與 source guard 測試,避免 `observed` filter 再把 delivered callback replies 隱藏。
**完成度更新**
- Phase 2 告警資料鏈路:`12% → 18%`
- Callback reply observed filter live issue`100%`
- Source Link Canary live issue維持 `100%`
- Phase 2 目標仍為 `90%`Telegram DB 完整寫入、dedupe / recurrence、詳情 / 歷史 400、postmortem 重複通知與 Config Drift 重複告警仍待續。
**驗證**
- `python3 -m py_compile apps/api/src/services/platform_operator_service.py apps/api/tests/test_awooop_operator_timeline_labels.py`:通過。
- `ruff check apps/api/src/services/platform_operator_service.py apps/api/tests/test_awooop_operator_timeline_labels.py`:通過。
- `DATABASE_URL=<local test postgres URL> PYTHONPATH=apps/api pytest apps/api/tests/test_awooop_operator_timeline_labels.py -q``60 passed`
- `git diff --check`:通過。
- Gitea code-review run `2552`success。
- Gitea CD run `2551`tests / build-and-deploy / post-deploy-checks success。
- Deploy marker`658f46dd chore(cd): deploy ca0b3ae [skip ci]`
- Production health`/api/v1/health``status=healthy``environment=prod``mock_mode=false`
- Production callback API`/api/v1/platform/runs/callback-replies?project_id=awoooi&callback_reply_status=observed&per_page=5&refresh=true``total=4`summary `callback_total=4``callback_sent_total=4``snapshot_status=partial`,第一筆 `callback_reply_status=sent``callback_reply_action=history`
- Production callback API baseline`/api/v1/platform/runs/callback-replies?project_id=awoooi&per_page=1&refresh=true``total=4`,與 `observed` filter 對齊。
- Production Browser desktop `/zh-TW/awooop/runs?project_id=awoooi&_v=658f46dd-callback-observed`:表格 50 列、`Run 監控` / `AwoooP` / `MCP` / `Ansible` / `KM` 可見,`horizontalOverflow=0`,無 in-page fetch failure截圖 `/tmp/awoooi-runs-callback-observed-desktop-658f46dd.png`
- Production Browser mobile 390x844 `/zh-TW/awooop/runs?project_id=awoooi&_v=658f46dd-callback-observed-mobile`:表格 50 列、可上下滾動、`horizontalOverflow=0`,無 in-page fetch failure截圖 `/tmp/awoooi-runs-callback-observed-mobile-658f46dd.png`
**目前邊界**
- 本段只修 callback reply 查詢與 operator summary 判讀,不發 Telegram 訊息、不讀取 token、不改 webhook secret、不修改告警來源權限。
- 本段沒有建立 incident、沒有啟動 auto repair、沒有建立 ticket、沒有批准 runtime gate。
- `observed total=4` 代表已可查到既有 callback reply 證據;`snapshot_status=partial` 仍表示舊 inbound callback 點擊證據不可完全回補,下一個真 Telegram button press 仍是 inbound mirror 的驗證觸發點。
- IwoooS / Source Control / Kali / VibeWork 相關 gate 全部維持既有 `0 / false` 邊界。
## 2026-06-04IwoooS P1-9 VibeWork Onboarding Handoff
**背景**P1-8 已補 111 / 168 開發主機 scope handoff本段接續 P1-9將 VibeWork 納入 IwoooS 的 repo、product、surface、owner、evidence refs、資料分級、部署邊界與獨立產品邊界整理成 owner / reviewer 可審的只讀 handoff。這不是產品合併、不是部署批准、不是 repo / refs 同步、不是 workflow / secret 修改,也不是掃描或修復授權。