32 KiB
32 KiB
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 |
| 推版規則 | 只推 Gitea:git push gitea HEAD:main;GitHub 只讀備份 |
| 最新 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 maingit status --shortgit log --oneline -8- 讀 MASTER §0 / §1 / §8、
docs/HARD_RULES.md、docs/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 drawer:5 個以上 top-level destinations 與兩層以上導航階層,適合用 drawer。
- Atlassian navigation redesign:用 sidebar 提升跨專案工作效率,top bar 留給 search / create 等 universal actions。
- IBM Carbon UI shell:header 是最高層導航,left panel 承載產品導航,右側留給全域 utilities。
- Google Ads 管理後台:左側主功能 rail + 二層 page menu + 上方 search / scope selector / status strip / page tabs / toolbar,把「去哪裡、看哪個範圍、目前狀態、同頁視角」拆開。
推進規則
- 每個 phase 完成後更新本文件的完成度與狀態。
- 每個可部署 phase 都更新
docs/LOGBOOK.md。 - 前端變更必跑 i18n JSON parse、TypeScript、build 與 Browser desktop/mobile smoke。
- 涉及正式站聲明必用 production API / browser / Gitea run 證據,不引用舊報告。
- 每個 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 對應事件;詳情 / 歷史不 400;fingerprint 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 typecheckNEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 pnpm --filter @awoooi/web build- Browser desktop 1440px:Sidebar 顯示新順序,AwoooP secondary nav 顯示新順序。
- Browser mobile 390px:
horizontalOverflow=0。 - 推
gitea main:973fc7a4 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 main:Runs 列表已顯示 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_rateSLO 違反原因,對照最近自動修復任務。 - 盤點流程是否真跑完:alert ingest → classify → rule match → MCP evidence → PlayBook → approval gate → Ansible/repair → verifier → KM → postmortem。
- 補新建 approval gate raw timeline event:同一 transaction 寫入
stage、next_action、blocked_reason、auto_or_manual、needs_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=true:auto_execute_success_rate=90.2%、human_override_rate=0.5%、verifier_false_neg_rate=0.0%,目前any_violated=false。 - ADR-100 24h verification coverage:
skipped_low_volume,原因no_auto_repair_executions_24h;代表 SLO 回綠,但最近 24h 沒有可評估的 auto repair execution。 - Production runs:
/api/v1/platform/runs/list?project_id=awoooi&per_page=10回total=22700;mcp_observedfilter 回total=4391;read_only_dry_runfilter 回total=7。 INC-20260603-9B2535timeline:alert / investigator / approval 可見,但timeline_events=0、timeline_missing_for_approval、executor / verifier / KM skipped,代表 pending approval 的 lifecycle 留痕不足。INC-20260601-1B3388timeline:有完整 webhook → investigator → ai_router → llm → target → blast → safe → executor → verifier → close;狀態為 execution failed / manual required,MCP gateway 36 筆,verifier degraded,KM 未回寫。- Production
/api/v1/platform/status-chain合併INC-20260603-9B2535+INC-20260601-1B3388:current_stage=execution_failed、needs_human=true、next_step=manual_fix_or_rollback、Ansible 候選 3 筆但未使用。 - Production
/api/v1/platform/ai-route-status?workload_type=deep_rca:policy order 為ollama_gcp_a → ollama_gcp_b → ollama_local → gemini,目前 selected providerollama_gcp_a,Gemini 仍是 final fallback。 - Browser smoke:
/zh-TW/awooop/runs?project_id=awoooi表格載入 50 列,含INC-20260603-9B2535與 MCP 摘要,horizontalOverflow=0;Automation 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 verification:
ApprovalDBService.create_approval()、create_approval_with_fingerprint()、IncidentApprovalService.create_with_approval()會在建立 approval 後追加 rawtimeline_events,描述包含stage、next_action、blocked_reason、auto_or_manual、needs_human。 - Local tests:
test_approval_timeline_event.py覆蓋 pending manual gate 與 low-risk auto gate;test_awooop_truth_chain_service.py覆蓋有 raw timeline event 時不再標記timeline_missing_for_approval。 - Gitea main:
1ae8f809 fix(api): record approval gate timeline events已推送。 - Post-push production health:
/api/v1/health回status=healthy、environment=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 marker:
c046b9c8 chore(cd): deploy 8a32633 [skip ci]已出現在 Gitea main;code commit8a326338含8ad8bf48 fix(web): keep run status readable without chain batch。 - Gitea code-review run
2548:success;Gitea CD run2547:build-and-deploysuccess,但post-deploy-checksfailure,失敗檢查為Source Link Canary;API 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 failure,horizontalOverflow=0;同列顯示需人工、等待人工審批,尚未執行、blocked=all_evidence_sensors_failed、MCP 4/4; failed=0; blocked=0、Ansible candidates=2; apply=0、KM entries=0。 - Production Runs mobile smoke 390x844:
horizontalOverflow=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 issue:29a67ec7 讓 Source Link Canary 先判 HTTP status、2xx 空 body 交給 source-correlation readback 驗證;ca0b3aec 讓 callback_reply_status=observed 不再隱藏已送達 Telegram callback replies;87fe932b 讓 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 Canary:Gitea CD post-deploy run2547顯示sentry source-link canary failed: Expecting value: line 1 column 1 (char 0);29a67ec7已修 smoke script status-first parsing 與 2xx empty response handoff,run2549已成功。 - 修 Telegram callback replies
observed篩選:production API 原本callback_reply_status=observed回total=0,但 summarycallback_total=4;ca0b3aec已讓 observed 代表「有 callback reply 證據」,不再排除 sent / fallback sent / rescue sent / failed。 - 補 Recent Telegram inbound event source summary:production
/api/v1/platform/events/recent現在回傳content_type、run_id與 redactedsource_summary,可看到 callbackaction、incident_id/approval_id、source_ref_count、redaction_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
2550:success。 - Gitea CD run
2549:tests / build-and-deploy / post-deploy-checks success。 - Deploy marker:
65bdfd1d chore(cd): deploy 29a67ec [skip ci]。 - Post-deploy log:
Source Link Canary回recorded sentry source-link canary event for INC-20260505-25E744,Alert Chain smokePASSED — 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 flagswrites_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,summarycallback_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,與observedfilter 對齊。 - 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
87fe932b:py_compile、ruff check、DATABASE_URL=<local test postgres URL> PYTHONPATH=apps/api pytest apps/api/tests/test_awooop_operator_timeline_labels.py -q,結果62 passed;git diff --check、SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK、SECURITY_MIRROR_PROGRESS_GUARD_OK通過。 - Gitea code-review run
2556:success;Gitea CD run2555:tests / build-and-deploy success;deploy marker:df49e112 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_query,source_summary.telegram_callback_query.action=approve,並含approval_id或incident_id、source_ref_count、redaction_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皆回 200;action=historytotal4,action=detailtotal0,代表目前可驗證的是 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、IncidentINC-20260530-AB2B0A、狀態鏈、MCP / Telegram evidence,horizontalOverflow=0;截圖/tmp/awoooi-callback-run-detail-28c37b21-658f46dd.png。 - Production Browser desktop
/zh-TW/awooop/runs?project_id=awoooi&_v=df49e112-recent-event-summary-desktop:AwoooP / Runs / 繁中狀態可見,horizontalOverflow=0、禁止 href0、英文 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-mobile:AwoooP / Runs / 繁中狀態可見,horizontalOverflow=0、禁止 href0、英文 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 route:provider、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_degradation:stale 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 components:swimlane、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 bridge:
globals.css新增--wooo-radius-*/--wooo-shadow-*,Tailwindrounded-glass/card/button/pill指向 variables。 - D0 production smoke:正式站 CSS bundle 已含
--wooo-radius-card,Runs 桌機 / 手機horizontalOverflow=0。 - D1:AwoooP Runs / Approvals / Work Items 清 inline radius 與過大圓角,保留 operator console 密度。
- D1 production smoke:
8c9582f3正式站 Runs / Approvals / Work Items 桌機與手機皆horizontalOverflow=0,Runs / Approvals 控制項半徑為6px。 - Google Ads 型 IA D0:AwoooP shell 改為固定工作台殼,包含 scope selectors、狀態列、桌機二層 section menu、頁面標題、上方 tabs 與工具列;視覺仍沿用 WOOO Open Design token 與 8px 內圓角。
- Google Ads 型 IA D0 production smoke:正式站 Runs 桌機 / 手機皆可見新 scope/status/page tabs/toolbar,Runs 真資料載入,
horizontalOverflow=0,禁止內網 /#href 命中0。 - AwoooI Logo D0:左上品牌改用
logo-gallery.html指定的 AI / AwoooI 科技冷色 V2 膠囊疊加推薦稿;Header 文字改走brand.displayNamei18n,桌機 / 手機正式站皆確認無舊螺旋 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 main,deploy 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 作為主功能 rail;AwoooP layout 內新增桌機二層 section menu,避免把所有子頁都塞成同一排 tabs。
- AwoooP 頂部新增資料檢視 / 專案 scope selector、operator badge 與只讀狀態列。
- AwoooP 頁面標題區新增「所有時間」、最近 30 天、重新整理、下載、意見工具列。
- Mobile 隱藏二層 section menu,保留 scope/status 與橫向 page tabs,避免水平溢出。
- 所有新增可見文案走
awooop.shelli18n key,zh-TW.json/en.json繁中鏡像一致。
驗收:
- i18n mirror:
I18N_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-desktop:AwoooP 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-mobile:scope/status/tabs/toolbar 可見,horizontalOverflow=0,二層 section menu 按設計隱藏。 - Code commit:
c4428a8b feat(web): align AwoooP shell with Ads-style IA,已推gitea main。 - Gitea code-review run
2573成功;CD run2572完成並追加 deploy marker1662e406 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-desktop:scope 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-mobile:scope selector、狀態列、頁面 tabs、toolbar、Runs 真資料可見,無 in-page load failure,horizontalOverflow=0,禁止內網 /#href 命中0;截圖/tmp/awoooi-google-ads-shell-d0-prod-mobile-c4428a8b.png。 - 追蹤 Gitea deploy marker:
1662e406 chore(cd): deploy c4428a8 [skip ci]已出現在gitea/main。
Phase 5-D3 - AwoooI Header Logo 更新
| 欄位 | 內容 |
|---|---|
| 優先級 | P1 |
| 狀態 | 已推 Gitea main,deploy 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.displayNamei18n key,Header 顯示AwoooI不硬編在 TSX。 - 桌機展開狀態顯示 Pills icon +
AwoooI;手機 / 收合狀態保留 Pills icon,避免壓縮內容。
驗收:
- i18n mirror:
I18N_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-3:hasPillsSvg=true、oldLogoPresent=false、horizontalOverflow=0;截圖/tmp/awoooi-logo-pills-local-desktop.png。 - Local mobile 390x844
/zh-TW/awooop/runs?project_id=awoooi&_v=awoooi-logo-pills-local-mobile:hasPillsSvg=true、oldLogoPresent=false、horizontalOverflow=0;截圖/tmp/awoooi-logo-pills-local-mobile.png。 - Code commit:
a5324ef7 feat(web): replace header logo with AwoooI pills mark,已推gitea main。 - Gitea code-review run
2577成功;CD run2576tests / build-and-deploy / post-deploy-checks 成功。 - Deploy marker:
f1eec188 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-desktop:hasDisplayName=true、hasPillsSvg=true、oldLogoPresent=false、horizontalOverflow=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-mobile:hasPillsSvg=true、oldLogoPresent=false、horizontalOverflow=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.jsontoken 是否真在 repo/worktree;若有,移除並輪換。 - 查 110 swap、188 certbot、188 memory、GCP-B live usage。
- 查 GitHub workflow 是否仍可能觸發競爭 K3s。
- 查 188 local Ollama 是否仍有 direct
OLLAMA_URLcaller,確認後再清理,不直接 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 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 |
| 2026-06-04 | Phase 2 | 24% | 87fe932b 已補 recent Telegram inbound event redacted source summary;df49e112 deploy 後 production API 與 Runs desktop/mobile smoke 通過 |
| 2026-06-04 | Phase 5 | 66% | c4428a8b 已把 AwoooP shell 改成 Google Ads 型 IA;1662e406 deploy 後 production desktop/mobile smoke 通過 |
| 2026-06-05 | Phase 5 | 67% | a5324ef7 已把左上 Header Logo 換成 AwoooI Pills V2;f1eec188 deploy 後 production desktop/mobile smoke 通過 |