# Phase 38→56 AI 觀測台戰役盤點 > 日期:2026-05-05 > 用途:接續觀測台、Telegram、scheduler probe、L2 自動化與 deploy_doctor 時的低成本入口。 ## 已確認落地 - Commit 19f1340→df2311d 覆蓋 Phase 38→55;HEAD 另有 Phase 56 deploy_doctor 擴充。 - Web 觀測台已形成 10 頁:overview、agent_orchestration、business_intel、host_health、ai_calls、budget、promotion_review、rag_queries、quality_trend、ppt_audit_history。 - `templates/components/_ewoooc_shell.html` 已加入 AI 觀測 sidebar group;`templates/ewoooc_base.html` 已加入 topbar health indicator。 - Telegram 已加入 `obs_*` 指令與 `cmd:obs_heal:*`、`cmd:obs_force_throttle`、`cmd:obs_trigger_review` inline action。 - `run_scheduler.py` 已加入 host probe、cleanup、AI error spike、observability daily summary。 - `migrations/029_create_host_health_probes.sql` 與 `migrations/030_create_ppt_audit_results.sql` 已補 host health / PPT audit 持久化。 ## 2026-05-05 修補 - AutoHeal Web / Telegram 入口不再只看 `_is_unhealthy()` 30 秒記憶體 TTL;也接受 `host_health_probes` 30 分鐘內最新探針為 unhealthy。 - AI 呼叫錯誤突增告警補上 1 小時 in-process dedup,避免每 30 分鐘重複推送。 - 補回 memory 索引與模組化治理清單,避免 Phase 38→56 戰役只存在於聊天戰報。 ## 已知治理債 - `routes/admin_observability_routes.py` 約 2550 行,已是 P0 巨型 Blueprint。後續不可再直接塞新頁面或 SQL,應抽 `observability_query_service` 與 `observability_action_service`。 - `routes/openclaw_bot_routes.py` 約 9104 行,Telegram 指令應繼續拆到 `services/openclaw_bot/`。 - 觀測台 template 仍大量使用 Bootstrap `card` / `btn-*`,尚未完全改成 `--momo-*` design token;這是 cosmetic,不是 P0。 - 現有 smoke test 多數 mock DB/Ollama/MCP,只能證明 route 不 500;不能證明 SQL schema、真實資料或 L2 side effect 正確。 ## 下一步建議 - 優先抽 `routes/admin_observability_routes.py` 的查詢層,保留 route 只做 request parsing 與 render。 - 補一個整合級 smoke:用測試 DB 建 `host_health_probes`,驗證 Web/TG AutoHeal 在 DB 最新 unhealthy 時不會被 `_is_unhealthy()` TTL 擋下。 - 若要做視覺 polish,再集中處理 Bootstrap → MOMO V2 token,不要混進功能 patch。