diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index b5ff0dba6..ecf3d3d88 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,57 @@ +## 2026-05-19 | T70 Operator Console AwoooP status-chain sync + +**背景**:T69 已讓 Telegram「詳情 / 歷史」可以看到 AwoooP 狀態鏈,但前端 Run Detail / Callback Replies 還沒有同源欄位。Operator 仍可能在網站上看不到「目前階段、AI 是否真的執行、是否已驗證、是否需人工」的完整判讀。 + +**修正**: +- `platform_operator_service.py` 新增 read-only `awooop_status_chain_v1` builder。 + - 合併 `fetch_truth_chain()` 的 `truth_status` / `automation_quality` 與 ADR-100 remediation history。 + - 欄位包含 stage、verdict、repair_state、verification、needs_human、next_step、blockers、auto-repair / ops / MCP / KM evidence count、ADR-100 route、write flags。 + - `GET /api/v1/platform/runs/{run_id}/detail` 回傳 `awooop_status_chain`。 + - `GET /api/v1/platform/runs/callback-replies` 每筆 callback reply 回傳 `awooop_status_chain`;同頁重複 incident 會快取,避免重複讀 evidence。 +- 前端新增 `AwoooPStatusChainPanel`,Run Detail 以完整面板呈現,Callback Reply 卡片以 compact 面板呈現。 +- zh-TW / en i18n 已補;沒有新增 emoji icon,使用 lucide icon;不新增自動修復權限。 + +**local verification**: +- `py_compile`:`platform_operator_service.py`、`operator_runs.py`、`test_awooop_operator_timeline_labels.py` pass。 +- `DATABASE_URL=postgresql+asyncpg://test:test@localhost:5432/test PYTHONPATH=apps/api python -m pytest apps/api/tests/test_awooop_operator_timeline_labels.py -q`:30 passed。 +- `ruff check --select F,E9,I` for changed API/test files:pass。 +- zh-TW / en JSON parse:pass。 +- `pnpm --dir apps/web typecheck`:pass。 +- Targeted `next lint`:exit 0;`runs/page.tsx` 仍有既有 legacy i18n literal warnings,T70 新增 component 沒新增硬編文案。 +- `NEXT_PUBLIC_API_URL=https://awoooi.wooo.work pnpm --dir apps/web build`:pass。 +- Playwright local smoke:Runs 頁導航列存在;Run Detail 顯示「AwoooP 狀態鏈」;本地 callback evidence 因 production 目前 `total=0`,compact 面板需等 callback reply 資料出現才可見。 + +**production deployment / verification**: +- Code commit:`784ebf49 feat(awooop): surface status chain in operator console`。 +- Deploy marker:`4f151f5d chore(cd): deploy 784ebf4 [skip ci]`。 +- Gitea Code Review run `2399` success;CD run `2398` success。 + - jobs:`2984/tests` success、`2985/build-and-deploy` success、`2986/post-deploy-checks` success。 +- Production image: + - `awoooi-api` → `192.168.0.110:5000/awoooi/api:784ebf49ef9b604d071fe36f67278871d2ab0f3f`。 + - `awoooi-worker` → same API image tag。 + - `awoooi-web` → `192.168.0.110:5000/awoooi/web:784ebf49ef9b604d071fe36f67278871d2ab0f3f`。 +- Health:`https://awoooi.wooo.work/api/v1/health` → `status=healthy`、`mock_mode=false`、`environment=prod`。 +- API smoke: + - `GET /api/v1/platform/runs/list?project_id=awoooi&page=1&per_page=1` → `total=5801`。 + - latest detail run `9f2f40c8-7e53-5221-9c31-26fcd07ac684` → `awooop_status_chain.schema_version=awooop_status_chain_v1`、`source_id=INC-20260518-4EA40D`、`repair_state=manual_required`、`needs_human=true`。 + - `GET /api/v1/platform/runs/callback-replies?project_id=awoooi&per_page=1` → `total=0`,表示目前 production 沒有 callback reply evidence 可顯示,不代表 endpoint schema 失敗。 +- Production Playwright smoke:`/zh-TW/awooop/runs` 導航存在;`/zh-TW/awooop/runs/9f2f40c8-7e53-5221-9c31-26fcd07ac684?project_id=awoooi` 顯示 `truth_chain+adr100_history`、`manual_required`、卡點與來源事件 dossier;blocking console errors=0。 + +**邊界 / 下一步**: +- T70 是前端與 API read model 的可見性同步,不新增自動修復執行權限、不改 incident / approval / auto_repair state。 +- 真正自動修復仍必須由 execution record、verification result、incident closure 與 KM/Playbook evidence 同時成立。 +- 下一步可把同一狀態鏈推到 Work Items / Approvals / Monitoring 的共用工作項卡,讓「自動修復成功 / 需人工 / 僅資訊 / 需審批」在所有核心頁一致。 + +**目前整體進度**: +- AwoooP observability / truth-chain 可回看:約 99.7%。 +- 來源告警入庫、重複發生、Sentry / SignOz 與修復結果可見性:約 99.6%。 +- Telegram callback detail/history 可追溯:約 98.0%。 +- Operator Console status-chain 可見性:約 99.2%。 +- AI 自動修復閉環:約 98.0%;T70 補前端可觀測,不新增全自動執行能力。 +- Config Drift 治理:約 99.6%。 +- 前端 AI 自動化管理介面產品化:約 99.3%。 +- 完整 AI 自動化管理產品化:約 98.5%。 + ## 2026-05-19 | T69 Telegram detail/history AwoooP status-chain visibility **背景**:Telegram 主卡與前端已逐步接上 truth-chain / remediation evidence,但「詳情」與「歷史」仍把 timeline、ADR-100 history、MCP Gateway、automation quality 分散顯示。值班者還是需要自己拼:目前跑到哪一階段、AI 是否真正執行、自動修復是否已驗證、或是不是只讀試跑等待人工。 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 fe6746cf9..251d39004 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 @@ -2272,6 +2272,16 @@ Phase 6 完成後 - 邊界:T69 只收斂 Telegram detail/history 的 operator-visible truth-chain,不新增自動修復執行權限、不修改 approval / incident state。宣稱 AI 自動修復完成仍必須由 execution + verification + closure / KM evidence 共同成立。 - 目前進度更新:AwoooP truth-chain 可回看約 99.6%;Telegram callback detail/history 可追溯約 98.0%;AI 自動修復閉環約 97.9%;完整 AI 自動化管理產品化約 98.1%。 +**T70 Operator Console AwoooP status-chain production verified(2026-05-19 台北)**: +- 觸發:T69 已讓 Telegram 詳情 / 歷史可見 AwoooP 狀態鏈,但前端 Run Detail / Callback Replies 還沒有同源欄位;Operator 在網站上仍可能無法判斷目前階段、AI 是否真正執行、是否已驗證、是否需人工。 +- 修正:`platform_operator_service.py` 新增 read-only `awooop_status_chain_v1` builder,合併 `fetch_truth_chain()` 的 `truth_status` / `automation_quality` 與 ADR-100 remediation history。Run detail 與 callback replies API 均回傳 status chain;callback replies 以 incident/project 快取避免同頁重複讀 evidence。 +- UI:新增 `AwoooPStatusChainPanel`;Run Detail 顯示完整 status-chain 面板,Callback Reply card 顯示 compact 版。欄位含 stage、verdict、repair_state、verification、next_step、blockers、auto-repair / ops / MCP / KM evidence count、ADR-100 route 與 write flags;zh-TW/en i18n 已補。 +- Verification:local `py_compile`、AwoooP operator timeline tests `30 passed`、ruff `F/E9/I`、i18n JSON parse、web typecheck、targeted lint、Next build、Playwright local smoke 均通過。Targeted lint 仍只回報 `runs/page.tsx` 既有 legacy i18n literal warnings;T70 新 component 沒新增硬編文案。 +- Production deploy:`784ebf49 feat(awooop): surface status chain in operator console` 已推 Gitea main;Code Review run `2399` success;CD run `2398` jobs `2984/tests`、`2985/build-and-deploy`、`2986/post-deploy-checks` 全 success;deploy marker `4f151f5d chore(cd): deploy 784ebf4 [skip ci]`。 +- Production smoke:health healthy;API/worker/web image 均為 `784ebf49ef9b604d071fe36f67278871d2ab0f3f`。Latest run detail `9f2f40c8-7e53-5221-9c31-26fcd07ac684` 回 `awooop_status_chain_v1`、`source_id=INC-20260518-4EA40D`、`repair_state=manual_required`、`needs_human=true`。Production UI `/zh-TW/awooop/runs/...` 顯示 `truth_chain+adr100_history`、`manual_required`、卡點與來源事件 dossier;blocking console errors=0。 +- 邊界:T70 是前端與 API read model 可見性同步,不新增自動修復執行權限、不改 incident / approval / auto_repair state。Production callback replies 目前 `total=0`,compact panel 需等 callback reply evidence 出現才可見。 +- 目前進度更新:AwoooP truth-chain 可回看約 99.7%;來源告警 / Sentry / SignOz / 修復結果可見性約 99.6%;Operator Console status-chain 可見性約 99.2%;AI 自動修復閉環約 98.0%;前端 AI 自動化管理介面產品化約 99.3%;完整 AI 自動化管理產品化約 98.5%。 + --- ### 2026-04-20 晚 (台北) — C1-C4 全流程串接 — Playbook 鏈路保護(commit de2d34d)