Files
awoooi/docs/workplans/2026-06-04-navigation-and-ai-flywheel-workplan.md

32 KiB
Raw Blame History

2026-06-04 導航 IA 與 AI 自動化飛輪推進清單

本文件是本輪工作推進 handoff 與執行清單。AI 自動化飛輪的架構事實仍以 docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md 為唯一事實來源;本文件只負責排序、拆工、驗收與狀態追蹤。

目前基線

項目 狀態
Repo/worktree /private/tmp/awoooi-iwooos-next-gate-20260604
推版規則 只推 Giteagit push gitea HEAD:mainGitHub 只讀備份
最新 Gitea main f1eec188 chore(cd): deploy a5324ef [skip ci]
最新完成 code commit a5324ef7 feat(web): replace header logo with AwoooI pills mark
最新 deployment marker f1eec188 chore(cd): deploy a5324ef [skip ci]
正式站驗證 https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=f1eec188-logo-pills-prod-desktop
首頁產品化入口 88%
AI provider readability 88%
Runs visibility 95%
Work Items readability 84%
Design system 67%
完整 AI 自動化飛輪 74%

Session 啟動固定檢查

  • git fetch gitea main
  • git status --short
  • git log --oneline -8
  • 讀 MASTER §0 / §1 / §8、docs/HARD_RULES.mddocs/LOGBOOK.md
  • project_current_status.md 超過 2 天,需先做狀態同步

導航 IA 原則

原則 本輪落地
主入口按工作流排序,不按技術模組排序 先放指令中心、AwoooP、工作鏈路、Runs、審批、告警
左側導覽承載跨頁任務入口 把高頻 AwoooP 子頁與告警入口提到全域側欄
頁內 tabs 只表示同一頁的視角 Observability / Automation / Operations 的 tabs 後續逐步拆成可掃描子入口
Header 保留全域動作 Search / command palette / profile / notification 維持在 header 或快捷指令
Mobile 不藏真任務 側欄保持可滾動,長標籤需可換行或收合顯示

參考來源:

  • Material Design navigation drawer5 個以上 top-level destinations 與兩層以上導航階層,適合用 drawer。
  • Atlassian navigation redesign用 sidebar 提升跨專案工作效率top bar 留給 search / create 等 universal actions。
  • IBM Carbon UI shellheader 是最高層導航left panel 承載產品導航,右側留給全域 utilities。
  • Google Ads 管理後台:左側主功能 rail + 二層 page menu + 上方 search / scope selector / status strip / page tabs / toolbar把「去哪裡、看哪個範圍、目前狀態、同頁視角」拆開。

推進規則

  1. 每個 phase 完成後更新本文件的完成度與狀態。
  2. 每個可部署 phase 都更新 docs/LOGBOOK.md
  3. 前端變更必跑 i18n JSON parse、TypeScript、build 與 Browser desktop/mobile smoke。
  4. 涉及正式站聲明必用 production API / browser / Gitea run 證據,不引用舊報告。
  5. 每個 phase 完成後推 gitea main,除非該 phase 明確標記為純本地盤點且不可部署。

階段驗證矩陣

Phase 必做驗證 必看頁面 / 端點 完成門檻
Phase 0 導航 IA i18n JSON、TypeScript、build、Browser desktop/mobile、production smoke /zh-TW/awooop/zh-TW/awooop/work-items/zh-TW/awooop/runs/zh-TW/awooop/approvals 本地與正式站都顯示新導航,horizontalOverflow=0
Phase 1 AI 自動化飛輪真相 DB / API / Browser 三方交叉查同一 incident / run /zh-TW/awooop/zh-TW/awooop/runs/zh-TW/awooop/work-items、相關 platform operator API 同一事件能看見 stage timeline、AI action、MCP evidence、approval gate、repair / verifier 狀態
Phase 2 告警資料鏈路 DB alert records、API 詳情 / 歷史、Browser Alerts / Runs、dedupe 統計 /zh-TW/awooop/zh-TW/awooop/runs、告警詳情 / 歷史連結 Telegram 告警都有 DB 對應事件;詳情 / 歷史不 400fingerprint recurrence 可查
Phase 3 AI Provider / Agent 主責 API route status、run detail evidence、Browser AI route 區塊 /zh-TW/governance/zh-TW/awooop/runs/api/v1/platform/ai-route-status provider、model、fallback reason、latency、token、result 在 API 與前端一致
Phase 4 KM 劣化治理 KB healthcheck run、DB stale ratio、Browser Work Items / Knowledge Base /zh-TW/knowledge/zh-TW/awooop/work-items stale KM 有 owner、來源、引用次數、下一步高影響更新需 owner review
Phase 5 前端產品化 i18n JSON、TypeScript、build、desktop/mobile Browser smoke 首頁、/zh-TW/awooop/runs/zh-TW/awooop/work-items/zh-TW/operations/zh-TW/deployments 真資料可讀;無硬編文案、無 emoji icon、mobile 可上下滾且 horizontalOverflow=0
Phase 6 Ansible / PlayBook / Auto Repair API / DB repair record、PlayBook trust score、verifier evidence /zh-TW/awooop/runs/zh-TW/awooop/approvals 每次 repair 都有 PlayBook 版本、MCP evidence、執行結果、verifier、KM / timeline 回寫
Phase 7 既有紅燈驗證 production DB / host / workflow 只讀驗證 RLS policy、.gitea/workflows/*、host health evidence 不引用舊報告;每個紅燈都有 live evidence、風險判讀與下一步
Phase 8 技術債 / 清理 rg 掃舊文案 / 假資料 / 硬編 IP、前端 build、Browser smoke 被清理的對應頁面 清掉的項目不再出現在正式站;無新空狀態或破版

Phase 0 - 導航 IA 第一波

欄位 內容
優先級 P0
目標 先修目前最直觀的 UX 阻塞全域導航排序混亂、AwoooP 頁內入口難掃描、部分 UI 文字硬編。
狀態 已推 Gitea main正式站 Browser smoke 通過
完成度 100%

細項:

  • 以「處理佇列 / 真相與治理 / 營運 / 系統」重排 Sidebar。
  • AwoooP 總覽工作鏈路Run 監控審批佇列告警 提升為全域可見入口。
  • AwoooP shell 改為 i18n移除硬編文案。
  • AwoooP 二級導航改為工作流順序:總覽 → 工作鏈路 → Run 監控 → 審批佇列 → 合約 → 租戶。
  • 保留 classic 相容入口,但移入系統區。
  • 驗證 desktop / mobile 無水平溢出,導航可見。

驗收:

  • node -e "JSON.parse(...zh-TW.json); JSON.parse(...en.json)"
  • pnpm --filter @awoooi/web typecheck
  • NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 pnpm --filter @awoooi/web build
  • Browser desktop 1440pxSidebar 顯示新順序AwoooP secondary nav 顯示新順序。
  • Browser mobile 390pxhorizontalOverflow=0
  • gitea main973fc7a4 feat(web): refine operator navigation IA
  • Production Browser smoke/zh-TW/awooop?_v=2555c811-phase1-precheck 顯示新 Sidebar、新 AwoooP 二級導航與 horizontalOverflow=0

Phase 1 - P0 AI 自動化飛輪真相盤點

欄位 內容
優先級 P0
狀態 已推 Gitea mainRuns 列表已顯示 status-chain / run evidence fallback、MCP、Ansible、KM 與人工 gate 狀態;正式站 desktop/mobile smoke 通過。CD post-deploy checks 因 Source Link Canary 失敗而紅燈,需納入 Phase 2 告警鏈路修復。
本階段完成度 56%
目標完成度 完整 AI 自動化飛輪 69% → 75%

細項:

  • auto_execute_success_rate SLO 違反原因,對照最近自動修復任務。
  • 盤點流程是否真跑完alert ingest → classify → rule match → MCP evidence → PlayBook → approval gate → Ansible/repair → verifier → KM → postmortem。
  • 補新建 approval gate raw timeline event同一 transaction 寫入 stagenext_actionblocked_reasonauto_or_manualneeds_human、risk 與 signature 狀態。
  • Runs 列表 Source Flow 補 operator status chain / fallback同一 incident 可見 需人工等待人工審批、blocked reason、MCP 成功/失敗、Ansible candidates / apply / reason、KM entries。
  • 補既有 pending approval 歷史 backfill / production smoke確認正式站同一 incident 不再出現 timeline_missing_for_approval
  • 補 executor / verifier / KM 狀態變更事件:每個 incident 必須看到 stage、handler、AI action、manual need。
  • Telegram 告警補 stage、next action、blocked reason、auto/manual。
  • 建立風險分級與 approval gate 對照表,釐清中低風險是否允許 AI 自動修復。
  • 確認 MCP / 自建 MCP 實際 tool call、evidence、result 有被前端顯示;目前 Runs 表格可見 MCP summary、blocked reason、Ansible / KM 摘要,但 tool call result drilldown 還未完整產品化。

Live evidence

  • Production /api/v1/ai/slo?force_refresh=trueauto_execute_success_rate=90.2%human_override_rate=0.5%verifier_false_neg_rate=0.0%,目前 any_violated=false
  • ADR-100 24h verification coverageskipped_low_volume,原因 no_auto_repair_executions_24h;代表 SLO 回綠,但最近 24h 沒有可評估的 auto repair execution。
  • Production runs/api/v1/platform/runs/list?project_id=awoooi&per_page=10total=22700mcp_observed filter 回 total=4391read_only_dry_run filter 回 total=7
  • INC-20260603-9B2535 timelinealert / investigator / approval 可見,但 timeline_events=0timeline_missing_for_approval、executor / verifier / KM skipped代表 pending approval 的 lifecycle 留痕不足。
  • INC-20260601-1B3388 timeline有完整 webhook → investigator → ai_router → llm → target → blast → safe → executor → verifier → close狀態為 execution failed / manual requiredMCP gateway 36 筆verifier degradedKM 未回寫。
  • Production /api/v1/platform/status-chain 合併 INC-20260603-9B2535 + INC-20260601-1B3388current_stage=execution_failedneeds_human=truenext_step=manual_fix_or_rollback、Ansible 候選 3 筆但未使用。
  • Production /api/v1/platform/ai-route-status?workload_type=deep_rcapolicy order 為 ollama_gcp_a → ollama_gcp_b → ollama_local → gemini,目前 selected provider ollama_gcp_aGemini 仍是 final fallback。
  • Browser smoke/zh-TW/awooop/runs?project_id=awoooi 表格載入 50 列,含 INC-20260603-9B2535 與 MCP 摘要,horizontalOverflow=0Automation Flow Gate 顯示 28 件、8 個 blocked gate、verified auto repair 0。
  • Browser smoke/zh-TW/awooop/work-items/zh-TW/awooop/approvals 可開且 horizontalOverflow=0,但未直接浮出 INC-20260603-9B2535 / INC-20260601-1B3388 的可操作下一步。
  • Local code verificationApprovalDBService.create_approval()create_approval_with_fingerprint()IncidentApprovalService.create_with_approval() 會在建立 approval 後追加 raw timeline_events,描述包含 stagenext_actionblocked_reasonauto_or_manualneeds_human
  • Local teststest_approval_timeline_event.py 覆蓋 pending manual gate 與 low-risk auto gatetest_awooop_truth_chain_service.py 覆蓋有 raw timeline event 時不再標記 timeline_missing_for_approval
  • Gitea main1ae8f809 fix(api): record approval gate timeline events 已推送。
  • Post-push production health/api/v1/healthstatus=healthyenvironment=prod、PostgreSQL / Redis / Ollama / OpenClaw / SigNoz 均 up
  • Post-push production Runs smoke/zh-TW/awooop/runs?project_id=awoooi 表格 50 列,INC-20260603-9B2535、MCP、approval / 審批文案可見,horizontalOverflow=0
  • Production deploy markerc046b9c8 chore(cd): deploy 8a32633 [skip ci] 已出現在 Gitea maincode commit 8a3263388ad8bf48 fix(web): keep run status readable without chain batch
  • Gitea code-review run 2548successGitea CD run 2547build-and-deploy successpost-deploy-checks failure失敗檢查為 Source Link CanaryAPI Health、Alertmanager / SigNoz / Sentry webhook、SigNoz、OTEL Collector、Event Exporter 皆通過。
  • Production Runs desktop smoke/zh-TW/awooop/runs?project_id=awoooi&_v=c046b9c8-runs-status-fallback 載入 INC-20260603-9B2535,無 fetch failurehorizontalOverflow=0;同列顯示 需人工等待人工審批,尚未執行blocked=all_evidence_sensors_failedMCP 4/4; failed=0; blocked=0Ansible candidates=2; apply=0KM entries=0
  • Production Runs mobile smoke 390x844horizontalOverflow=0、可上下滾動、無 fetch failure同列可見 MCP / Ansible / KM 狀態;截圖:/tmp/awoooi-runs-status-chain-mobile-c046b9c8.png
  • Production screenshot/tmp/awoooi-runs-status-chain-desktop-c046b9c8.png/tmp/awoooi-runs-status-chain-table-desktop-c046b9c8.png

驗收:

  • DB / API / browser 都能查到同一 incident 的 stage timeline本地程式與單元測試已過production health / Runs smoke 未破raw timeline_events 需等新 approval 或 backfill 後驗證。
  • Telegram 訊息可不開前端判斷目前流程狀態。
  • 低風險自動修復權限與人工 gate 條件有可驗證表格。

Phase 2 - P0 告警資料鏈路

欄位 內容
優先級 P0
狀態 已修復三個 live issue29a67ec7 讓 Source Link Canary 先判 HTTP status、2xx 空 body 交給 source-correlation readback 驗證;ca0b3aeccallback_reply_status=observed 不再隱藏已送達 Telegram callback replies87fe932b 讓 recent Telegram inbound event 回傳安全 source summary前端 / API 可判讀 callback action、incident / approval reference 與 redaction metadata。其餘 Telegram / DB / dedupe / history 紅燈待續。
本階段完成度 24%
目標完成度 告警資料鏈路可判讀性 → 90%

細項:

  • 所有 Telegram 告警完整寫入 DB不只送訊息。
  • 告警關聯 Sentry、SigNoz、Alertmanager、K8s、host logs、run timeline。
  • 建立告警 dedupe / fingerprint / recurrence 統計,降低重複轟炸。
  • 修「詳情 / 歷史」HTTP 400 或查不到事件。
  • Source Link CanaryGitea 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 已成功。
  • 修 Telegram callback replies observed 篩選production API 原本 callback_reply_status=observedtotal=0,但 summary callback_total=4ca0b3aec 已讓 observed 代表「有 callback reply 證據」,不再排除 sent / fallback sent / rescue sent / failed。
  • 補 Recent Telegram inbound event source summaryproduction /api/v1/platform/events/recent 現在回傳 content_typerun_id 與 redacted source_summary,可看到 callback actionincident_id / approval_idsource_ref_countredaction_version,但不暴露 raw callback data、user hash 或 callback hash。
  • 修 postmortem 瞬間大量重複通知。
  • 修 Config Drift 重複告警,確認 PR 已建立後的採納 / 關閉 / baseline / TTL 狀態。

驗收:

  • 同一 fingerprint 可看到 recurrence 次數、最新來源、處置狀態。
  • 詳情 / 歷史連結不再 400。
  • 重複通知有 DB 證據與 TTL 判讀。

Live evidence

  • Gitea code-review run 2550success。
  • Gitea CD run 2549tests / build-and-deploy / post-deploy-checks success。
  • Deploy marker65bdfd1d chore(cd): deploy 29a67ec [skip ci]
  • Post-deploy logSource Link Canaryrecorded sentry source-link canary event for INC-20260505-25E744Alert Chain smoke PASSED — 8/9 checks passed
  • Source correlation apply smokestatus=passedverification_status=applied_link_verifiedsource_event_provider_event_id=sentry:source_correlation_linked:awoooi-source-link-canary-gitea-cd-3668-1write flags writes_incident_state=falsewrites_auto_repair_result=falsewrites_ticket=false
  • Production recurrence APIawoooi-source-link-canary-gitea-cd-3668-1 顯示 latest_stage=source_correlation_linkedlatest_incident_id=INC-20260505-25E744stage_counts={"source_correlation_linked": 1, "upstream_canary": 1}
  • Gitea code-review run 2552success。
  • Gitea CD run 2551tests / build-and-deploy / post-deploy-checks success。
  • Deploy marker658f46dd chore(cd): deploy ca0b3ae [skip ci]
  • Production health/api/v1/healthstatus=healthyenvironment=prodmock_mode=false
  • Production callback API/api/v1/platform/runs/callback-replies?project_id=awoooi&callback_reply_status=observed&per_page=5&refresh=truetotal=4summary callback_total=4callback_sent_total=4snapshot_status=partial,第一筆 callback_reply_status=sentcallback_reply_action=history
  • Production callback API baseline/api/v1/platform/runs/callback-replies?project_id=awoooi&per_page=1&refresh=truetotal=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
  • Local verification for 87fe932bpy_compileruff checkDATABASE_URL=<local test postgres URL> PYTHONPATH=apps/api pytest apps/api/tests/test_awooop_operator_timeline_labels.py -q,結果 62 passedgit diff --checkSOURCE_CONTROL_OWNER_RESPONSE_GUARD_OKSECURITY_MIRROR_PROGRESS_GUARD_OK 通過。
  • Gitea code-review run 2556successGitea CD run 2555tests / build-and-deploy successdeploy markerdf49e112 chore(cd): deploy 87fe932 [skip ci]
  • Production recent events API/api/v1/platform/events/recent?project_id=awoooi&channel_type=telegram&limit=3 回三筆 content_type=callback_querysource_summary.telegram_callback_query.action=approve,並含 approval_idincident_idsource_ref_countredaction_version=audit_sink_v1
  • Production callback detail link spot-check/api/v1/platform/runs/callback-replies?project_id=awoooi&callback_reply_status=observed&per_page=5&refresh=true 的 4 個 run_detail_href 皆回 200action=history total 4action=detail total 0,代表目前可驗證的是 history callback reply不是 detail callback reply。
  • Production Browser detail smoke/zh-TW/awooop/runs/28c37b21-3eec-5c22-a6c9-503e1680ed29?project_id=awoooi&_v=detail-link-check 可見 Run ID、Incident INC-20260530-AB2B0A、狀態鏈、MCP / Telegram evidencehorizontalOverflow=0;截圖 /tmp/awoooi-callback-run-detail-28c37b21-658f46dd.png
  • Production Browser desktop /zh-TW/awooop/runs?project_id=awoooi&_v=df49e112-recent-event-summary-desktopAwoooP / Runs / 繁中狀態可見,horizontalOverflow=0、禁止 href 0、英文 fallback 殘留 0、無 in-page load failure截圖 /tmp/awoooi-runs-recent-event-summary-desktop-df49e112.png
  • Production Browser mobile 390x844 /zh-TW/awooop/runs?project_id=awoooi&_v=df49e112-recent-event-summary-mobileAwoooP / Runs / 繁中狀態可見,horizontalOverflow=0、禁止 href 0、英文 fallback 殘留 0、無 in-page load failure截圖 /tmp/awoooi-runs-recent-event-summary-mobile-df49e112.png

Phase 3 - P0 AI Provider / Agent 主責

欄位 內容
優先級 P0
狀態 未開始
目標完成度 AI provider readability 88% → 95%

細項:

  • 強制確認 Ollama 使用順序GCP-A → GCP-B → 111 → Gemini fallback。
  • 查為什麼會跑到 111 Ollama而不是先 GCP-A/GCP-B。
  • Gemini 僅 fallback不禁用。
  • Hermes 作 KM / E7 自動知識主責。
  • OpenClaw 作告警分類、規則匹配、PlayBook 脈絡摘要,不直接批量改 KM。
  • ElephantAlpha 作 read-only 稽核與高風險 review。
  • 前端顯示每次 AI routeprovider、model、fallback 原因、token、latency、result。

驗收:

  • /api/v1/platform/ai-route-status 與 run detail 顯示同一 route truth。
  • 任何 fallback 都有原因與 latency。
  • 前端不再只顯示概念性 provider 文案。

Phase 4 - P0 KM 劣化治理

欄位 內容
優先級 P0
狀態 未開始
目標完成度 KM / Governance workflow 58% → 80%

細項:

  • 處理 knowledge_degradationstale KM ratio 需低於 20%。
  • 建立 run_kb_growth_healthcheck 真正排程與執行紀錄。
  • Hermes 反查 Incident / Sentry / SigNoz / PlayBook產生 KM 更新草稿。
  • 高影響 KM 必須 owner review 後寫入。
  • Work Items / Knowledge Base 顯示 stale 條目、owner、來源、引用次數、下一步。
  • Telegram 文案改成白話治理品質警報,避免誤判為服務故障。

驗收:

  • stale 候選有 owner review queue。
  • healthcheck 有 schedule / last run / result。
  • KM 草稿與採納狀態可從前端查到。

Phase 5 - P1 前端產品化

欄位 內容
優先級 P1
狀態 WOOO Open Design D1 AwoooP controls radius token cleanup 已上線並通過 production smoke
目標完成度 首頁產品化入口 88% → 95%Design system 60% → 70%(目前 64%

細項:

  • 首頁繼續從大量文字改成圖、表、流程、矩陣。
  • 抽共用 visual componentsswimlane、matrix、diagram atlas、timeline、state machine、topology。
  • AwoooP Runs 補完整事件時間線、AI route、MCP evidence、repair/verifier result。
  • Work Items 補 owner review rail、KM task、blocking reason、next step。
  • Approvals 補風險門、批准後實際是否執行、執行結果。
  • Alerts 補 recurrence、fingerprint、Sentry/SigNoz/K8s 關聯。
  • Monitoring / Cost / Tickets 接真實資料,移除空洞文案。
  • 所有文案 i18n不硬編中文/英文。
  • 禁用 emoji 當 UI icon改 lucide/icons。
  • 確認首頁與各頁 mobile 可上下滾動、horizontalOverflow=0
  • 接入 WOOO Open Design 採用策略:新增 token bridge 文件,先把 radius / shadow token 版本化。
  • D0 token bridgeglobals.css 新增 --wooo-radius-* / --wooo-shadow-*Tailwind rounded-glass/card/button/pill 指向 variables。
  • D0 production smoke正式站 CSS bundle 已含 --wooo-radius-cardRuns 桌機 / 手機 horizontalOverflow=0
  • D1AwoooP Runs / Approvals / Work Items 清 inline radius 與過大圓角,保留 operator console 密度。
  • D1 production smoke8c9582f3 正式站 Runs / Approvals / Work Items 桌機與手機皆 horizontalOverflow=0Runs / Approvals 控制項半徑為 6px
  • Google Ads 型 IA D0AwoooP shell 改為固定工作台殼,包含 scope selectors、狀態列、桌機二層 section menu、頁面標題、上方 tabs 與工具列;視覺仍沿用 WOOO Open Design token 與 8px 內圓角。
  • Google Ads 型 IA D0 production smoke正式站 Runs 桌機 / 手機皆可見新 scope/status/page tabs/toolbarRuns 真資料載入,horizontalOverflow=0,禁止內網 / # href 命中 0
  • AwoooI Logo D0左上品牌改用 logo-gallery.html 指定的 AI / AwoooI 科技冷色 V2 膠囊疊加推薦稿Header 文字改走 brand.displayName i18n桌機 / 手機正式站皆確認無舊螺旋 SVG、horizontalOverflow=0
  • design.wooo.work 對應 npm package / token export 可取得,改為 build-time package import不做 runtime 遠端依賴。

Phase 5-D2 - AwoooP Google Ads 型管理後台 IA

欄位 內容
優先級 P1
狀態 Code 已推 Gitea maindeploy marker 已追加,正式站 desktop/mobile smoke 通過
本階段完成度 100%
Design system 進度 64% → 66%
Runs visibility 進度 94% → 95%

細項:

  • 研究 Google Ads 管理後台 IA主功能 rail、二層 section menu、scope selector、status strip、頁面 tabs、toolbar、dense card/table workspace。
  • 保留 AWOOOI 全域 Sidebar 作為主功能 railAwoooP layout 內新增桌機二層 section menu避免把所有子頁都塞成同一排 tabs。
  • AwoooP 頂部新增資料檢視 / 專案 scope selector、operator badge 與只讀狀態列。
  • AwoooP 頁面標題區新增「所有時間」、最近 30 天、重新整理、下載、意見工具列。
  • Mobile 隱藏二層 section menu保留 scope/status 與橫向 page tabs避免水平溢出。
  • 所有新增可見文案走 awooop.shell i18n keyzh-TW.json / en.json 繁中鏡像一致。

驗收:

  • i18n mirrorI18N_JSON_MIRROR_OK leaves=8876
  • pnpm --filter @awoooi/web typecheck 通過。
  • NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 SENTRY_SUPPRESS_GLOBAL_ERROR_HANDLER_FILE_WARNING=1 pnpm --filter @awoooi/web build 通過。
  • Local dev desktop 1440x1000 /zh-TW/awooop/runs?project_id=awoooi&_v=google-ads-shell-d0-dev2-desktopAwoooP shell、scope/status、二層 menu、tabs、toolbar 可見,horizontalOverflow=0;本地因 dev proxy 未接 production API 顯示 Run 載入錯誤,正式站需補驗。
  • Local dev mobile 390x844 /zh-TW/awooop/runs?project_id=awoooi&_v=google-ads-shell-d0-dev2-mobilescope/status/tabs/toolbar 可見,horizontalOverflow=0,二層 section menu 按設計隱藏。
  • Code commitc4428a8b feat(web): align AwoooP shell with Ads-style IA,已推 gitea main
  • Gitea code-review run 2573 成功CD run 2572 完成並追加 deploy marker 1662e406 chore(cd): deploy c4428a8 [skip ci]
  • Production desktop 1440x1000 https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=c4428a8b-google-ads-shell-prod-desktopscope selector、狀態列、桌機二層 menu、頁面 tabs、toolbar、Runs 內容可見,horizontalOverflow=0;截圖 /tmp/awoooi-google-ads-shell-d0-prod-desktop-c4428a8b.png
  • Production mobile 390x844 https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=c4428a8b-google-ads-shell-prod-mobilescope selector、狀態列、頁面 tabs、toolbar、Runs 真資料可見,無 in-page load failurehorizontalOverflow=0,禁止內網 / # href 命中 0;截圖 /tmp/awoooi-google-ads-shell-d0-prod-mobile-c4428a8b.png
  • 追蹤 Gitea deploy marker1662e406 chore(cd): deploy c4428a8 [skip ci] 已出現在 gitea/main

Phase 5-D3 - AwoooI Header Logo 更新

欄位 內容
優先級 P1
狀態 已推 Gitea maindeploy marker 已追加,正式站 desktop/mobile smoke 通過
本階段完成度 100%
Design system 進度 66% → 67%

細項:

  • logo-gallery.html 抽取 1. AI (AwoooI) - 科技感冷色調V2: 膠囊疊加 (Pills) - 推薦 SVG。
  • 替換 apps/web/src/components/layout/header.tsx 左上角舊螺旋 SVG保留 Header 尺寸與 WOOO Open Design 背景 / 邊線 / spacing。
  • 新增 brand.displayName i18n keyHeader 顯示 AwoooI 不硬編在 TSX。
  • 桌機展開狀態顯示 Pills icon + AwoooI;手機 / 收合狀態保留 Pills icon避免壓縮內容。

驗收:

  • i18n mirrorI18N_JSON_MIRROR_OK leaves=8912
  • pnpm --filter @awoooi/web typecheck 通過。
  • NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 SENTRY_SUPPRESS_GLOBAL_ERROR_HANDLER_FILE_WARNING=1 pnpm --filter @awoooi/web build 通過。
  • Local desktop 1440x1000 /zh-TW/awooop/runs?project_id=awoooi&_v=awoooi-logo-pills-local-desktop-3hasPillsSvg=trueoldLogoPresent=falsehorizontalOverflow=0;截圖 /tmp/awoooi-logo-pills-local-desktop.png
  • Local mobile 390x844 /zh-TW/awooop/runs?project_id=awoooi&_v=awoooi-logo-pills-local-mobilehasPillsSvg=trueoldLogoPresent=falsehorizontalOverflow=0;截圖 /tmp/awoooi-logo-pills-local-mobile.png
  • Code commita5324ef7 feat(web): replace header logo with AwoooI pills mark,已推 gitea main
  • Gitea code-review run 2577 成功CD run 2576 tests / build-and-deploy / post-deploy-checks 成功。
  • Deploy markerf1eec188 chore(cd): deploy a5324ef [skip ci]
  • Production desktop 1440x1000 https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=f1eec188-logo-pills-prod-desktophasDisplayName=truehasPillsSvg=trueoldLogoPresent=falsehorizontalOverflow=0;截圖 /tmp/awoooi-logo-pills-prod-desktop-f1eec188.png
  • Production mobile 390x844 https://awoooi.wooo.work/zh-TW/awooop/runs?project_id=awoooi&_v=f1eec188-logo-pills-prod-mobilehasPillsSvg=trueoldLogoPresent=falsehorizontalOverflow=0;收合狀態文字隱藏符合設計;截圖 /tmp/awoooi-logo-pills-prod-mobile-f1eec188.png

Phase 6 - P1 Ansible / PlayBook / Auto Repair

欄位 內容
優先級 P1
狀態 未開始
目標完成度 Ansible / AutoRepair gate 可視化 52% → 80%

細項:

  • 盤點 Ansible 是否真正被 AI automation 使用,而不是只存在 repo。
  • PlayBook 要有 trust score、成功 / 失敗回寫、版本、owner、適用條件。
  • 自動修復不能只推薦重啟,要依 MCP evidence 與 PlayBook trust 決策。
  • 自動修復完成後 verifier 驗證,失敗才升級人工。
  • 每次修復都回寫 KM / PlayBook / incident timeline。

Phase 7 - P1 既有紅燈驗證

欄位 內容
優先級 P1
狀態 未開始

細項:

  • Production PostgreSQL 直接查 RLS policy不引用舊報告。
  • .claude/settings.json token 是否真在 repo/worktree若有移除並輪換。
  • 查 110 swap、188 certbot、188 memory、GCP-B live usage。
  • 查 GitHub workflow 是否仍可能觸發競爭 K3s。
  • 查 188 local Ollama 是否仍有 direct OLLAMA_URL caller確認後再清理不直接 uninstall。

Phase 8 - P2 技術債 / 清理

欄位 內容
優先級 P2
狀態 未開始

細項:

  • 清理前端舊版本、空洞首頁、無效進度條、小龍蝦進度條資料源。
  • 清掉假資料、硬編 IP、舊 fallback copy、舊 navigation 版本差異。
  • 把已完成與推進中的工作同步到前端,不把聊天內容原文寫成頁面文案。
  • LOGBOOK 持續記錄每階段完成項、commit、Gitea run、正式站證據、整體進度。

狀態更新紀錄

時間 Phase 完成度 狀態
2026-06-04 Phase 0 0% 建立工作清單,開始導航 IA 第一波
2026-06-04 Phase 0 92% 導航 IA 本地驗證完成,待 Gitea 推版與正式站證據
2026-06-04 Phase 0 96% 973fc7a4 已推 Gitea main正式站仍顯示舊 Sidebar待 CD rollout
2026-06-04 Phase 0 100% 正式站已顯示新 Sidebar / AwoooP subnavhorizontalOverflow=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 parsing65bdfd1d deploy 後 CD / post-deploy checks 通過
2026-06-04 Phase 2 18% ca0b3aec 已修 callback reply observed filter658f46dd deploy 後 production API observed total=4 對齊 summary callback_total=4
2026-06-04 Phase 2 24% 87fe932b 已補 recent Telegram inbound event redacted source summarydf49e112 deploy 後 production API 與 Runs desktop/mobile smoke 通過
2026-06-04 Phase 5 66% c4428a8b 已把 AwoooP shell 改成 Google Ads 型 IA1662e406 deploy 後 production desktop/mobile smoke 通過
2026-06-05 Phase 5 67% a5324ef7 已把左上 Header Logo 換成 AwoooI Pills V2f1eec188 deploy 後 production desktop/mobile smoke 通過