diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 920623d8..2fdde28e 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,44 @@ +## 2026-06-26|D1A 全域 App Shell 手機抽屜正式部署:手機不再被固定側欄壓縮 + +**背景**:使用者指出正式站導航 / 菜單 / 分頁體驗仍混亂,且手機版把側欄常駐在畫面左側會壓縮主內容閱讀區。上一輪已救回 AwoooP 核心入口與移除頁內 AwoooP 二層導覽;本段聚焦全域 App Shell,把手機 / 窄版改成主流管理後台的抽屜式導航,桌機仍保留完整側欄。 + +**完成**: +- `AppLayout`:手機 / 窄版主內容改為 `ml-0`,不再常駐 224px sidebar;新增 `mobileNavigationOpen`、遮罩、Escape 關閉與點選導航後自動關閉。 +- `Header`:新增窄版專用選單按鈕,使用 lucide `Menu` icon;桌機維持既有 brand / command / language / operator marker。 +- `Sidebar`:支援 drawer mode、指定寬度、隱藏折疊鈕與 navigate-close callback;桌機 sidebar 透過 `hidden md:flex`,手機 drawer 使用 `role="dialog"`。 +- i18n:新增 `sidebar.openNavigation` / `sidebar.closeNavigation`,`zh-TW` 與目前鏡像 `en` key 完全一致。 + +**Commit / Deploy**: +- Code commit:`aee743ba6 fix(web): convert mobile navigation to drawer shell`。 +- 平行 docs-only commit:`013c13763 docs(logbook): record controlled apply guard verification [skip ci]`。 +- Deploy marker:`819dcf4a chore(cd): deploy aee743b [skip ci]`。 +- Gitea code-review:`#3524` 成功。 +- Gitea CD:`#3523` 已產生 deploy marker;最後一次 Actions HTML readback 仍顯示 Running,正式可用性以 deploy marker + production smoke 為準,後續可再補最終 Actions 狀態。 + +**正式站驗證**: +- `/zh-TW/awooop?_v=819dcf4a-mobile-drawer-smoke` mobile `390x844`:初始 `visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 +- 手機抽屜展開:`dialogCount=1`、`drawerWidth=304`、18 個入口可見;`AwoooP 總覽`、`工作鏈路`、`Run 監控`、`審批佇列`、`合約`、`租戶`、`可觀測性`、`知識與自動化` 全部可見。 +- 抽屜點選 `/zh-TW/awooop/runs`:URL 正確切換,抽屜關閉 `visibleAsideCount=0`,`horizontalOverflow=0`,`tablists=0`。 +- `/zh-TW/awooop?_v=819dcf4a-desktop-shell-smoke` desktop `1440x1000`:固定 sidebar 可見 `navCount=18`、`mainLeft=224`、`horizontalOverflow=0`、`tablists=0`。 +- `/zh-TW/governance?tab=automation-inventory&_v=819dcf4a-mobile-shell-smoke` mobile:`visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 +- `/zh-TW/security-compliance?_v=819dcf4a-mobile-shell-smoke` mobile:`visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 +- 截圖:`/tmp/awoooi-mobile-drawer-runs-prod-819dcf4a.png`、`/tmp/awoooi-security-compliance-mobile-drawer-shell-819dcf4a.png`。 + +**本地驗證**: +- `python3 -m json.tool apps/web/messages/zh-TW.json` / `apps/web/messages/en.json`:通過。 +- i18n key mirror:`onlyZh=0`、`onlyEn=0`、leaves `14169 / 14169`。 +- `git diff --check`:通過。 +- `pnpm --filter @awoooi/web typecheck`:本機缺 `tsc`,未能執行;以 Gitea code-review 與 production smoke 補驗。 + +**完成度同步**: +- D1A 全域 App Shell / 手機抽屜:正式站 `100%`。 +- D1 全域導航與主工作區重整:`55%`;breadcrumb、context links、legacy redirect、頁面級 tabs 移除仍待做。 +- 導航 / IA 整合:`45% -> 52%`。 +- 全站 UI / UX 專業化:`38% -> 40%`。 +- 真正 AI 自動化 runtime 閉環:仍 `15-25%`,不因 UI shell 改動上修。 + +**邊界**:本段只改前端全域 App Shell、Sidebar/Header 與 i18n;沒有改 AI runtime gate、Telegram send、告警路由、主機、Nginx、K8s、secret、DB、workflow 或自動修復授權。 + ## 2026-06-26|IwoooS controlled apply guard 收斂:資安讀回、防退化與正式站驗證完成 **背景**:P2-414B 已把 AwoooP allowlisted low / medium / high 修復路徑改成 `controlled_apply`,但部分資安 guard 與文件仍停在舊的 `runtime_write_gate=0` / `candidate_only` / 高風險人工 Gate 語意,造成 CD guard 與最新產品方向衝突。本段只收斂 source / guard / readback / production verification,不碰主機、Wazuh live、Kali、Nginx、Docker、firewall、secret 或 Telegram send。 diff --git a/docs/workplans/2026-06-26-awoooi-ia-ux-reset-and-consolidation.md b/docs/workplans/2026-06-26-awoooi-ia-ux-reset-and-consolidation.md index c8927dae..496ffb41 100644 --- a/docs/workplans/2026-06-26-awoooi-ia-ux-reset-and-consolidation.md +++ b/docs/workplans/2026-06-26-awoooi-ia-ux-reset-and-consolidation.md @@ -1,8 +1,8 @@ # AWOOOI IA / UIUX 重整盤點與整合推進清單 日期:2026-06-26(台北時間) -基線:`gitea/main=81a18bb8 docs(logbook): record navigation IA production repair [skip ci]` -狀態:D0 盤點中,本文件先本地建立,不觸發正式部署。 +基線:`gitea/main=819dcf4a chore(cd): deploy aee743b [skip ci]` +狀態:D0 盤點完成;D1 全域導航 shell 已完成第一段正式部署,手機版改為抽屜式導航;後續仍需逐頁整併舊 route / tabs / 大量文字頁。 ## 0. 這次先校正方向 @@ -79,8 +79,8 @@ | 項目 | 舊估計 | 本次重估 | 理由 | |---|---:|---:|---| -| 導航 / IA 整合 | `72%` | `45%` | 全域側欄有恢復,但頁面級 tabs 與重複 route 尚未整併。 | -| 全站 UI / UX 專業化 | `58%` | `38%` | AwoooP 局部有進步,但 Observability、Knowledge、Governance、IwoooS 仍文字過重。 | +| 導航 / IA 整合 | `72%` | `52%` | 全域側欄、AwoooP 核心入口與手機抽屜式導航已正式部署;頁面級 tabs 與重複 route 尚未整併。 | +| 全站 UI / UX 專業化 | `58%` | `40%` | App shell 手機可讀性已改善,但 Observability、Knowledge、Governance、IwoooS 仍文字過重。 | | AwoooP 操作台產品化 | `68%` | `55%` | Work Items / Runs / Approvals 資料有,但還不像完整自動化控制台。 | | Tenants 全產品資產中心 | `68%` | `55%` | 已有資產概念,但使用者指出所有網站 / 專案 / 產品仍未完整納入。 | | Observability 專業拓樸 / 告警中心 | `38%` | `25%` | 仍無全主機 / 全服務 / 全產品一張拓樸與有效告警漏斗。 | @@ -179,7 +179,7 @@ | IA-D0-002 | Canonical route map | `AwoooProductShell` / sidebar / command palette 共用資料來源設計 | 待做 | | IA-D0-003 | PageTabs 去留清單 | 第 3 節轉成實作 issue / checklist | 待做 | | IA-D0-004 | 優先頁視覺骨架 | Situation / Flow / Matrix / Topology / Evidence / Action component spec | 待做 | -| IA-D1-001 | 導航實作 | Sidebar、breadcrumb、context links、legacy route redirect plan | 待做 | +| IA-D1-001 | 導航實作 | Sidebar、手機抽屜、breadcrumb、context links、legacy route redirect plan | 部分完成:Sidebar / 手機抽屜正式站 100%;breadcrumb / redirect 待做 | | IA-D2-001 | Governance 去 tabs | Cockpit 首屏 + direct drilldown | 待做 | | IA-D2-002 | Observability 去 tabs | 全資產拓樸 + alert funnel + service health heatmap | 待做 | | IA-D3-001 | Knowledge 自動化資產總帳 | KM / PlayBook / scripts / schedules / verifier | 待做 | @@ -218,7 +218,57 @@ 判定:入口文字已恢復,但「全域導航 + 頁面級分頁 + 舊路由」仍同時存在,所以使用者仍會感覺像不同版本混在一起。 -## 12. D0 收斂狀態 +## 12. D1A 全域 App Shell 正式站驗證 + +完成時間:2026-06-26(台北時間) + +Commit / deploy: + +- Code commit:`aee743ba6 fix(web): convert mobile navigation to drawer shell` +- Docs-only parallel commit:`013c13763 docs(logbook): record controlled apply guard verification [skip ci]` +- Deploy marker:`819dcf4a chore(cd): deploy aee743b [skip ci]` + +完成內容: + +- 手機 / 窄版不再常駐 224px sidebar;主內容 `mainLeft=0`。 +- Header 新增窄版專用選單按鈕。 +- 手機選單改為 `role="dialog"` 抽屜,寬度 `min(304px, calc(100vw - 32px))`,點選導航後自動關閉。 +- 桌機維持固定 sidebar,18 個 canonical 入口可見。 +- `Sidebar` 支援 drawer mode,避免頁面內再做一套二層主導航。 + +正式站 smoke: + +| 頁面 | Viewport | 結果 | +|---|---|---| +| `/zh-TW/awooop?_v=819dcf4a-mobile-drawer-smoke` | `390x844` | 初始 `visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 | +| 手機抽屜展開 | `390x844` | `dialogCount=1`、`drawerWidth=304`、18 個入口可見,核心入口 `AwoooP 總覽 / 工作鏈路 / Run 監控 / 審批佇列 / 合約 / 租戶 / 可觀測性 / 知識與自動化` 全部可見。 | +| 抽屜點選 `/zh-TW/awooop/runs` | `390x844` | URL 正確切換、抽屜關閉 `visibleAsideCount=0`、`horizontalOverflow=0`、`tablists=0`。 | +| `/zh-TW/awooop?_v=819dcf4a-desktop-shell-smoke` | `1440x1000` | 桌機 `visibleAsideCount=1`、`navCount=18`、`mainLeft=224`、`horizontalOverflow=0`、`tablists=0`。 | +| `/zh-TW/governance?tab=automation-inventory&_v=819dcf4a-mobile-shell-smoke` | `390x844` | 手機 `visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 | +| `/zh-TW/security-compliance?_v=819dcf4a-mobile-shell-smoke` | `390x844` | 手機 `visibleAsideCount=0`、`menuButtonVisible=true`、`mainLeft=0`、`horizontalOverflow=0`、`tablists=0`。 | + +截圖: + +- `/tmp/awoooi-mobile-drawer-runs-prod-819dcf4a.png` +- `/tmp/awoooi-security-compliance-mobile-drawer-shell-819dcf4a.png` + +驗證與限制: + +- JSON parse:`apps/web/messages/zh-TW.json` / `apps/web/messages/en.json` 通過。 +- i18n key mirror:`onlyZh=0`、`onlyEn=0`、leaves `14169 / 14169`。 +- `git diff --check` 通過。 +- `pnpm --filter @awoooi/web typecheck`:本機缺 `tsc`,未能執行;Gitea code-review `#3524` 已成功,正式站 smoke 通過。 +- Gitea CD `#3523` 已產生 deploy marker `819dcf4a`;Actions HTML 在最後一次只讀讀回仍顯示 Running,正式完成以 deploy marker + production smoke 為準,待下一輪補最終 Actions readback。 + +完成度: + +- D1A 全域 App Shell / 手機抽屜:正式站 `100%`。 +- D1 全域導航與主工作區重整:`55%`;尚未完成 breadcrumb、context links、legacy redirect、頁面級 tabs 移除。 +- 導航 / IA 整合:`45% -> 52%`。 +- 全站 UI / UX 專業化:`38% -> 40%`。 +- 真正 AI 自動化 runtime 閉環:仍 `15-25%`,不因 UI shell 改動上修。 + +## 13. D0 收斂狀態 | ID | 工作 | 狀態 | |---|---|---| @@ -232,7 +282,7 @@ D0 完成度:`100%`。 下一個可執行階段:D1 `全域導航與主工作區重整`。D1 開始前必須先決定是否允許產生正式版本;若進入實作,第一個 commit 只處理 canonical route map、sidebar / command palette 共用資料來源、清理 AwoooP 舊 `navItems`,不碰 runtime gate。 -## 13. D1 本地第一刀 +## 14. D1 本地第一刀 本段只做本地改動,不 commit、不 push、不部署。 @@ -254,7 +304,7 @@ D1 尚未完成: - 尚未移除 `/governance`、`/observability`、`/automation`、`/operations` 的頁面級主導航 tabs。 - 尚未做 production smoke,因為本段沒有推版。 -## 14. D2 本地第一刀:Observability 去 tabs +## 15. D2 本地第一刀:Observability 去 tabs 本段只做本地改動,不 commit、不 push、不部署。