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 修改,也不是掃描或修復授權。

View File

@@ -8,10 +8,10 @@
| --- | --- |
| Repo/worktree | `/private/tmp/awoooi-iwooos-next-gate-20260604` |
| 推版規則 | 只推 Gitea`git push gitea HEAD:main`GitHub 只讀備份 |
| 最新 Gitea main | `920c9a2d docs(security): 補開發主機 scope handoff [skip ci]` |
| 最新完成 code commit | `29a67ec7 fix(ci): tolerate empty source link canary response` |
| 最新 deployment marker | `65bdfd1d chore(cd): deploy 29a67ec [skip ci]` |
| 正式站驗證 | `https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=c046b9c8-runs-status-fallback` |
| 最新 Gitea main | `658f46dd chore(cd): deploy ca0b3ae [skip ci]` |
| 最新完成 code commit | `ca0b3aec fix(api): include delivered callback replies in observed filter` |
| 最新 deployment marker | `658f46dd chore(cd): deploy ca0b3ae [skip ci]` |
| 正式站驗證 | `https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=658f46dd-callback-observed` |
| 首頁產品化入口 | 88% |
| AI provider readability | 88% |
| Runs visibility | 92% |
@@ -141,8 +141,8 @@ Live evidence
| 欄位 | 內容 |
| --- | --- |
| 優先級 | P0 |
| 狀態 | 已修復第一個 live issue`29a67ec7` 讓 Source Link Canary 先判 HTTP status、2xx 空 body 交給 source-correlation readback 驗證;`2549` CD / post-deploy checks 已通過。其餘 Telegram / DB / dedupe / history 紅燈待續。 |
| 本階段完成度 | 12% |
| 狀態 | 已修復個 live issue`29a67ec7` 讓 Source Link Canary 先判 HTTP status、2xx 空 body 交給 source-correlation readback 驗證;`ca0b3aec``callback_reply_status=observed` 不再隱藏已送達 Telegram callback replies。其餘 Telegram / DB / dedupe / history 紅燈待續。 |
| 本階段完成度 | 18% |
| 目標完成度 | 告警資料鏈路可判讀性 → 90% |
細項:
@@ -151,6 +151,7 @@ Live evidence
- [ ] 建立告警 dedupe / fingerprint / recurrence 統計,降低重複轟炸。
- [ ] 修「詳情 / 歷史」HTTP 400 或查不到事件。
- [x]`Source Link Canary`Gitea CD post-deploy run `2547` 顯示 `sentry source-link canary failed: Expecting value: line 1 column 1 (char 0)``29a67ec7` 已修 smoke script status-first parsing 與 2xx empty response handoffrun `2549` 已成功。
- [x] 修 Telegram callback replies `observed` 篩選production API 原本 `callback_reply_status=observed``total=0`,但 summary `callback_total=4``ca0b3aec` 已讓 observed 代表「有 callback reply 證據」,不再排除 sent / fallback sent / rescue sent / failed。
- [ ] 修 postmortem 瞬間大量重複通知。
- [ ] 修 Config Drift 重複告警,確認 PR 已建立後的採納 / 關閉 / baseline / TTL 狀態。
@@ -166,6 +167,14 @@ Live evidence
- Post-deploy log`Source Link Canary``recorded sentry source-link canary event for INC-20260505-25E744`Alert Chain smoke `PASSED — 8/9 checks passed`
- Source correlation apply smoke`status=passed``verification_status=applied_link_verified``source_event_provider_event_id=sentry:source_correlation_linked:awoooi-source-link-canary-gitea-cd-3668-1`write flags `writes_incident_state=false``writes_auto_repair_result=false``writes_ticket=false`
- Production recurrence API`awoooi-source-link-canary-gitea-cd-3668-1` 顯示 `latest_stage=source_correlation_linked``latest_incident_id=INC-20260505-25E744``stage_counts={"source_correlation_linked": 1, "upstream_canary": 1}`
- 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`
## Phase 3 - P0 AI Provider / Agent 主責
@@ -288,3 +297,5 @@ Live evidence
| 2026-06-04 | Phase 0 | 100% | 正式站已顯示新 Sidebar / AwoooP subnav`horizontalOverflow=0` |
| 2026-06-04 | Phase 1 | 38% | SLO 回綠;定位 pending approval timeline 留痕、manual-required 狀態浮現與 Runs/Work Items 可視性缺口 |
| 2026-06-04 | Phase 5 | 64% | WOOO Open Design D1 已上線AwoooP Runs / Approvals 控制項吃 `rounded-button`,正式站桌機 / 手機 `horizontalOverflow=0` |
| 2026-06-04 | Phase 2 | 12% | `29a67ec7` 已修 Source Link Canary response parsing`65bdfd1d` deploy 後 CD / post-deploy checks 通過 |
| 2026-06-04 | Phase 2 | 18% | `ca0b3aec` 已修 callback reply `observed` filter`658f46dd` deploy 後 production API `observed total=4` 對齊 summary `callback_total=4` |