# FR-047 全站 spec 拆分＋wireframe 量產計畫（2026-07-06 拍板）

> 3 個 session 執行（W1 拆分重整 → W2 / W3 wireframe 量產）。每個 session 冷接時**先讀本檔全文**＋
> [2026-07-06-planning-hub-split-handoff.md](2026-07-06-planning-hub-split-handoff.md) 的 **§2.5 wireframe 慣例**（樣式唯一依據，本檔不重複）。

## 🧭 原始需求（WHY）

user 審 spec 站後的方向（規劃頁已另案處理，見 planning handoff）：workspace 型頁面要拆成「hub 導航＋功能子頁」，讓工程師 30 秒知道「有幾塊、動哪塊碰哪支檔」；**每頁 §5 第一張圖必須是版面 wireframe**（區塊格局＋標代表性 API＋可點跳轉），比舊 Graphviz 骨架圖好讀。本計畫把同一模式掃到全站其餘頁面。

## 全站盤點結果（2026-07-06 程式掃描 55 內容頁）

- 數值紅旗（功能總覽 >8 或 UC >5）命中 36 頁——**但多數是單畫面 CRUD 頁**（搜尋/新增/編輯/刪除逐列列出），拆了反而碎。
- 逐頁看功能總覽「位置」欄後，**真正 multi-screen 的只有少數**（多個各自成畫面的 tab / 獨立表單頁 / wizard / 兩畫面混寫一份）。

**修正後拆分判準（skill 更新用這版，取代先前「>8 或 >5」草案）**：
> 數值紅旗（功能總覽 >8 項、UC >5 條、或 >450 行）只是**觸發人工判定**；拆分條件是「**獨立畫面數 ≥2**」——各自成畫面的 tab、獨立表單頁、多步 wizard、或兩條 route 混寫一份。單畫面 CRUD＋dialog 群**不拆**，只補 wireframe。

## 拆分清單

### A 級（確定拆，W1 執行）

| 頁 | 現況證據 | 拆法 |
|----|---------|------|
| `system-admin/user-manage.md`（499 行/22 功能） | Tab0 列表＋Tab1 批次匯入 wizard（Step1/Step2）＋獨立使用者表單頁，三個畫面混一份 | hub（列表）＋ `user-form.md`（新增/編輯表單頁）＋ `user-import.md`（匯入 wizard）；`user-profile.md` 既有子頁不動 |
| `system-admin/notify-smtp-config.md`（355 行/19 功能） | 「通知頁」（Telegram/Discord 兩 tab）與「SMTP 列表＋表單頁」**兩條畫面混寫一份**（違反一頁一 route） | 直接拆兩份平級 spec：`notify-channels.md`（Telegram/Discord）＋ `smtp-config.md`（列表＋表單）；不需 hub；原檔退役 |
| `audit-execution/audit-review.md`（492 行/12 功能） | Tab0 三欄判定工作區（樹/參考面板/判定+觀察）＋ Tab1 風險管理（獨立功能域 UC-AR-02、finding 多對多） | hub ＋ `audit-verdict.md`（Tab0 判定工作區）＋ `audit-risk.md`（Tab1 風險） |
| `compliance-framework/module-frame.md`（294 行/14 功能） | 頁1 列表 / 頁2 明細下鑽 / 頁3 五 tab 編輯器（＝module-frame 版的 SSP 編輯器）三個畫面 | hub（頁1 列表）＋ `module-frame-detail.md`（頁2 下鑽）＋ `module-frame-defaults.md`（頁3 編輯器；五 tab 段落交叉引用 `project-ssp-*` 對應頁，只寫 API base 與行為差異，勿複製欄位定義） |

### B 級（W1 內判定，給判準不預拆）

| 頁 | 判定問題 | 判準 |
|----|---------|------|
| `audit-execution/ap-authoring.md`（488 行） | Tab1/Tab2 是唯讀投影（行程聯集回填），不是獨立功能；488 行主因是行程卡 field-level 內容 | 投影 tab **不構成**獨立畫面 → 預設不拆；僅當行程卡 dialog 群（新增稽核人員等）自成完整流程才拆一子頁 |
| `evidence/evidence-classification-reports.md`（360 行） | 驗證報表＋誤判報表兩塊、共同 Header | 若兩報表是同 route 切換顯示 → 不拆；若各自有 route/入口 → 拆兩頁 |

### 不拆（確認過，wireframe only）

remote-agent-manage（444，單畫面＋dialog 群）、cloud-integrations（423，卡片式單畫面）、poam（390，表格＋右抽屜）、my-tasks（357，左清單＋右抽屜）、survey 三頁（manage 已是 hub＋designer/fill 子頁結構）、project-overview（323，左樹右面板）等其餘全部。

## Wireframe 量產規範

- 樣式/API 標註/可點連結慣例 ＝ planning handoff **§2.5** 全文（canonical：`docs/specs/v1.8.0/project-management/assets/wireframes/project-planning-hub-wireframe.svg`）；`render_html.py` 已支援 `.svg` 內嵌。
- 每頁一張，放 §5 第一張圖；SVG 存該功能群 `assets/wireframes/<page>-wireframe.svg`。
- **舊 `*-ui-layout.dot` 骨架圖處理**：資訊被 wireframe 涵蓋 → 移除引用（.dot 檔留著不刪）；有補充價值（互動流/狀態切換）→ 保留在 wireframe 之後。
- 事實來源：區塊與 API 從該頁 §1.1／§5／§6 現文取（已核過 code），**不重掃 code**；發現 spec 自相矛盾才回 code 查。
- 單頁畫面若無「子頁」可連，色塊連**本頁內錨點**（§6/UC，pandoc 自動 id），build 後抽查可跳。

## Session 切分

> 順序：**planning 拆分 session（已交接）先跑完 → W1 → W2 → W3**。序列執行，因為 NAV_STRUCTURE（render_html.py）與各群 md 會被多方修改，避免同檔並行衝突。

### W1 — 拆分重整（A 級 4 頁＋B 級 2 頁判定）

- A 級 4 頁照上表拆（hub 比照 `project-ssp-edit.md`、子頁 field-level 比照 `project-ssp-inventory.md`）；B 級 2 頁按判準判定並記錄結論（tracker 備註）
- 拆出的每頁（含 hub）都做 wireframe（§2.5 慣例）
- NAV_STRUCTURE 更新（user-manage/audit-review/module-frame 加子頁縮排；notify-smtp-config 換成兩個平級 entry）＋全站 grep 修舊錨點連結
- build 綠＋敏感 grep=0＋「GRC 系統」=0 → 更新 tracker → 每頁獨立 commit
- 產出：約 7~9 個新/改檔＋各自 wireframe

### W2 — wireframe 量產（前半，約 25 頁）

- 範圍：project-management 11 頁（dashboard / list / create / ap-list / overview / ssp-edit hub＋5 子頁；**規劃頁 6 檔歸 planning session，勿碰**）＋ audit-execution 4 頁（ap-authoring / poam / my-tasks / my-audits；audit-review 已在 W1）＋ survey 3 頁＋ evidence 7 頁
- 每頁：畫 wireframe → 接進 §5 第一張 → 舊 layout.dot 按規範處理 → build 抽查連結可跳
- 分批 commit（一個功能群一 commit）

### W3 — wireframe 量產（後半，約 24 頁）＋收尾

- 範圍：system-admin 12 頁（user-manage 群已在 W1）＋ compliance-framework 5 頁（module-frame 群已在 W1）＋ collab 3 頁＋ reporting 2 頁＋ auth 2 頁
- 收尾：`writing-feature-specs` skill 更新——①拆分判準用本檔「修正後判準」版；②template reference 加 §2.5 wireframe 慣例全文；③「pilot 合格樣貌」改指 hub＋子頁雙樣本
- 全站 build 終驗（斷鏈 0）＋ tracker 總結一行＋（等 user 下令才做其他收尾）

## 各 session 啟動 prompt（user 複製貼）

**W1：**
```
請執行 FR-047 全站計畫 W1（拆分重整）。先讀
docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-06-sitewide-wireframe-and-split-plan.md
全文＋同資料夾 2026-07-06-planning-hub-split-handoff.md 的 §2.5 wireframe 慣例。
照計畫 A 級 4 頁拆分（user-manage／notify-smtp-config／audit-review／module-frame）、
B 級 2 頁按判準判定；每頁含 wireframe；NAV 與舊錨點同步修。
只動目標檔、顯式 git add、不切 branch、push 等我指示。
```

**W2：**
```
請執行 FR-047 全站計畫 W2（wireframe 量產前半）。先讀
docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-06-sitewide-wireframe-and-split-plan.md
全文＋planning handoff §2.5 慣例。範圍：project-management 11 頁＋audit-execution 4 頁＋
survey 3 頁＋evidence 7 頁（規劃頁 6 檔與 W1 已拆頁勿碰）。每頁 §5 第一張換 wireframe
（標代表性 API＋可點錨點），舊 ui-layout.dot 按計畫規範處理，一群一 commit。
只動目標檔、顯式 git add、不切 branch、push 等我指示。
```

**W3：**
```
請執行 FR-047 全站計畫 W3（wireframe 量產後半＋收尾）。先讀
docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-06-sitewide-wireframe-and-split-plan.md
全文＋planning handoff §2.5 慣例。範圍：system-admin 12 頁＋compliance-framework 5 頁＋
collab 3 頁＋reporting 2 頁＋auth 2 頁；完成後做 skill 更新（拆分判準修正版＋wireframe 慣例
進 template reference）與全站 build 終驗。其他收尾動作等我下令。
只動目標檔、顯式 git add、不切 branch、push 等我指示。
```
