diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 2dba154bb..5525ff2b5 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,40 @@ +## 2026-05-13 | T15c 前端告警事件卷宗已推版,三源 inbound 可在 Run Detail 查核 + +**背景**:T15b 已把 Alertmanager / Sentry / SignOz inbound 來源保存成 redacted source envelope,但 Operator Console 還不能直接從 Run Detail 看見「這張告警來自哪裡、是否重複、有哪些 source refs、內容是否已遮罩、與哪些日誌/指紋相關」。統帥要求 Telegram 類告警不能只看卡片,必須能在 AwoooP 前端看到流程階段與來源證據。 + +**修正**: +- 新增 read-only `channel_event_dossier_service.py`,將 `awooop_conversation_event.source_envelope` 正規化為前端事件卷宗 DTO。 +- 新增 `GET /api/v1/platform/events/dossier`,支援 `run_id` 或 `provider_event_id` 查詢,回傳 source count、duplicate count、redacted count、source ref count。 +- Run Detail 頁面新增「事件卷宗」面板,顯示 provider / stage / provider event id / severity / namespace / target / hash / redacted content / source refs / source URL。 +- i18n 已補 `zh-TW` / `en` 文案,未新增硬編碼 UI 文案。 +- Production smoke 發現 asyncpg 對 optional UUID bind 報 `AmbiguousParameterError`;hotfix 改為動態 WHERE,`run_id` 只在有值時以 `CAST(:run_id AS uuid)` 綁定。 + +**驗證與推版**: +- Local: + - `py_compile`:pass。 + - `ruff --select F,E9`:pass。 + - `pytest apps/api/tests/test_channel_event_dossier_service.py apps/api/tests/test_platform_router_order.py -q`:7 passed。 + - `pnpm --dir apps/web typecheck`:pass。 + - `next lint --file src/app/[locale]/awooop/runs/[run_id]/page.tsx`:pass。 + - `git diff --check`:pass。 + - 全量 `pnpm --dir apps/web lint` 仍有既有 unrelated warning baseline,T15c 修改檔案的 lint 已過。 +- Gitea: + - `77aace75 feat(awooop): show inbound event dossiers` 已推 Gitea main;code-review `2102` success,CD `2101` success,deploy marker `a21fc0f3`。 + - `e947e60d fix(awooop): type dossier run filter` 已推 Gitea main;code-review `2105` success,CD `2104` tests / build-and-deploy / post-deploy-checks 全 success,deploy marker `39e6ce74`。 +- Production: + - API / Worker / Web image 均為 `e947e60d11449865f90e41045335d9602085037f`。 + - `GET /api/v1/health` → healthy,PostgreSQL / Redis / Ollama / OpenClaw / SignOz up。 + - Alertmanager run dossier:`total=1`、`redacted_total=1`、`source_ref_total=4`、provider=`alertmanager`。 + - Sentry provider_event_id dossier:`total=1`、`redacted_total=1`、`source_ref_total=6`、provider=`sentry`。 + - SignOz provider_event_id dossier:`total=1`、`redacted_total=1`、`source_ref_total=6`、provider=`signoz`。 + - API logs:`/api/v1/platform/events/dossier` 回 200,未再出現 `AmbiguousParameterError` / 500。 + - Run Detail HTML:`/zh-TW/awooop/runs/0a4c365f-609e-5441-bc29-4c7ebc3603b6?project_id=awoooi` 回 HTML,Next assets 正常。 + +**目前整體進度**: +- Wave 0 / T0-T15c 已把「Telegram-only 黑盒」推進到「DB truth-chain + AwoooP Run Detail 事件卷宗」。 +- 目前完成度:約 94%。 +- 尚未完成的 6%:T16 低風險 live-fire 自動修復 verified、Ansible check-mode / apply / rollback audit、KM / PlayBook 自動寫回與 trust 更新、write/admin MCP 全面 Gateway enforcement。 + ## 2026-05-13 | T15b inbound source envelope 已推版,AI 代理主導權邊界已釐清 **背景**:統帥追問 Telegram / Sentry / SignOz / Config Drift 類告警是否完整寫入 DB、是否能匹配相關日誌、是否能判斷重複發生與 AI 自動化流程階段。同時追問 OpenClaw 與 Hermes 到底應由哪個 AI Agent 主導。 diff --git a/docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md b/docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md index 118b737ab..62debb1dc 100644 --- a/docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md +++ b/docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md @@ -2092,6 +2092,13 @@ Phase 6 完成後 - Agent 主導權:市場敘事可採 Hermes 作為主入口與主 Agent runtime;但 AWOOOI 內部職責必須維持 OpenClaw 主導 SRE 認知決策,Hermes 主導通道、工具、狀態傳遞與可觀測呈現。Hermes 可 orchestrate OpenClaw decision envelope,但不得直接成為第二套修復決策黑盒。 - 目前整體進度更新:約 91%。尚未完成完整自動修復 live-fire verified、Ansible check-mode/apply/rollback、KM/PlayBook trust writeback、前端事件卷宗與 write/admin MCP 全面 Gateway enforcement。 +**T15c Run Detail event dossier production verified(2026-05-13 台北)**: +- `77aace75 feat(awooop): show inbound event dossiers` 新增 read-only dossier API 與 Run Detail「事件卷宗」面板;`e947e60d fix(awooop): type dossier run filter` 修正 production smoke 發現的 asyncpg optional UUID bind 問題。 +- Gitea:code-review `2102/2105` success,CD `2101/2104` success,deploy markers `a21fc0f3/39e6ce74`;latest API / Worker / Web image 均為 `e947e60d11449865f90e41045335d9602085037f`。 +- Production smoke:health 200;Alertmanager run dossier `total=1/redacted=1/refs=4`,Sentry provider_event_id dossier `total=1/redacted=1/refs=6`,SignOz provider_event_id dossier `total=1/redacted=1/refs=6`;API logs 顯示 `/api/v1/platform/events/dossier` 200,未再出現 `AmbiguousParameterError`。 +- 產品進度:Operator 現可在 Run Detail 看到 inbound provider、stage、provider event id、redacted content、source refs、fingerprint / namespace / target / hash。這完成「來源事實可見」,但仍不等於完整 AI 自動修復閉環;T16 仍需低風險 live-fire 自動修復 verified、Ansible executor audit、KM / PlayBook writeback、write/admin MCP Gateway enforcement。 +- 目前整體進度更新:約 94%。 + --- ### 2026-04-20 晚 (台北) — C1-C4 全流程串接 — Playbook 鏈路保護(commit de2d34d)