FR-038 — 全 FE 逐功能套用比對表(重新規劃地基)

前提(2026-06-16 user 拍板):BE 維持 FR-038 v2,FE 以 06-08 乾淨基準逐項套上去。FE 無退版(本就停在 06-08)。 方法:把 FE 實際呼叫的端點(src/config/api/api.js)對照 BE 已註冊路由(api.oscal/module_frame/project/grc 的 create_module dump)。 信心欄誠實標示確認=URL 對照 + 我做過 service smoke;待實測=URL 在但 v2 backing / runtime / shape 未對真實 FE 驗過。URL 是否存在屬客觀比對;「能用」一律需重啟 BE 後對真實 FE 實測才算數。

圖例

  • ✅ 能用(URL 在 + 接 v2)|🔧 需改(URL 變/shape 變/重構)|🆕 新建|🟥 壞/dark|❓ 待釐清

1. 合規框架 Framework — ✅ 2026-06-16 FE 實點驗過,整塊沒問題

框架管理 / 版本管理 / 兩階段 PDF 匯入 / catalog 編輯 全部 FE 實點通過(含另一 session 06-16 的 AO 讀 name 對齊修補)。視為完成。

FE 區塊 FE 端點 BE 現況 評估 信心
框架管理 /oscal-frameworks/oscal-framework[/<uid>]/oscal-frameworks/menu 已接 v2、註冊在舊 URL ✅ 能用 確認(FE 實點)
版本管理 /oscal-framework-versions/oscal-framework-version[/<uid>] 已接 v2、舊 URL ✅ 能用 確認(FE 實點)
版本匯入(兩階段) `/oscal-framework-parse-jobs[/parse / /confirm]` 已接 v2、舊 URL
catalog 編輯 `/oscal-catalog-group control control-assessment/` 已接 v2、舊 URL

2. 合規資源庫 Module Frame(資源庫範本)

2026-06-16 進度:核心 SoA(列表/新增/詳情樹/控制項+AO 編輯/AO BPMN/編輯適用控制項/程序書掛載/template-ssp)已接 v2 並多數 curl 驗過 —— 細節見 handoff/2026-06-16-resource-library-soa-v2-PROGRESS.md批次匯入匯出仍 pending(缺 parse-job 表 migration + 2 service v2 重寫)。改動全 UNCOMMITTED。

FE 區塊 FE 端點 BE 現況 評估 信心
列表 / 新增 / 詳情 /module-frames/module-frame[/<uid>]改打 /oscal/resource-libraries* ✅ 接 v2(clone 三件組 + control_id 對映) ✅ 能用 確認(curl)
SSP 子表 /module-frame/<uid>/{components,inventory,leveraged,parties,system-characteristic,ssp-resources} B3 接 v2、舊 URL ✅ 能用 待實測
適用控制項 SoA(control/AO 編輯) /module-frame/<uid>/{control-defaults,objective-defaults} + template-ssp 重寫走 v2 ssp_service(IR/statement props) ✅ 能用 確認(curl)/部分待 FE 實點
AO 初始化 BPMN create 時每 AO 生基礎 BPMN ✅ 接 v2 ✅ 能用 確認(curl)
程序書掛載 control/AO /module-frame/<uid>/.../reference-documents ✅ mapping context 改 v2 IR/statement ✅ 能用 確認(FE 實點)
範本匯入匯出(批次維護) control-defaults/{export,import,template,validate,verify}ssp-export、docx/excel import 🟥 DI 炸 + parse-job 表不存在 ❌ pending(獨立大工) 確認(壞)

3. SSP 維護(控制實作 / 程序書)

FE 區塊 FE 端點 BE 現況 評估 信心
控制實作 SoA /ssp/<uid>/control-implementation[s][/<cid>]/objective/... B3 接 v2、舊 URL ✅ 能用 待實測
程序書 / mapping /ssp/<uid>/document-pool.../document-mappings、reference-documents B3 接 v2 ✅ 能用 待實測
SSP 匯入匯出 /ssp/<uid>/control-implementations/{export,import}/ssp/<uid>/export 接 v2 ✅ 能用 待實測

4. 專案 + 稽核生命週期(最大破口 / 雙軌)

FE 區塊(畫面) FE 端點(舊) BE 現況 評估 信心
專案列表/總覽 /grc/projects/list/grc/project[/<uid>]/grc/dashboard/summary /grc/* 舊路由註冊著 ❓ 能列但 round/ap 上下文已換引擎 待實測
AP 清單 /grc/project/<uid>/assessment-plans/menu/ap/<uid>/launch-new-round 舊路由在;新引擎是 /projects/<id>/audit-rounds 🔧 改成 Audit Round 列表(接新引擎) 確認(設計)
AP 維護 (無) 新引擎 /ap/<uid>/reviewed-controls|subjects|tasks 🆕 新建 確認
AR 維護 /grc/project/<uid>/ap/<uid>/ar/control[s]...verdict/findings 舊:控制項層、依賴已退役表 assessment_plan_controls/tasks;新引擎 /audit-round/<id>/ar/findings(AO 層)+risk 🔧 重構(AO 層 + risk) + 舊路由恐 🟥 確認(設計)/待實測(舊壞)
POA&M /grc/project/<uid>/ap/<uid>/poam[s] 舊扁平;新引擎 /audit-round/<id>/poam-items+三層 🔧 重構(三層) 確認(設計)
Stage banner STAGE_API /project/<uid>/ap/<uid>/stage/{info,advance} flow-engine stage ❓ 新引擎改用 round.status 七態 待實測

5. My Jobs / Task Setup(保留,但曾壞)

FE 區塊 FE 端點 BE 現況 評估 信心
My Jobs /grc/jobs/my/list/grc/jobs/my/projects/menu/flow-engine/task/queue My Jobs view 接 v2 資料;/flow-engine/task/queue 曾壞、已被止血 commit(742ba3f3)回空陣列 🔧 已止血、需驗真資料 待實測
Task Setup /grc/project/<uid>/task-setup/tree + job 指派 依賴 AP task 結構 ❓ 恐受退役表影響 待實測
My Audits /grc/audits/my/list 註冊著 待實測

重新套用建議順序(低風險 → 高)

  1. 先實測「應該能用」的綠區(重啟 BE,對真實 FE 逐頁點):框架(§1)、SSP 維護(§3)。確認我的 framework維護 + B3 是否真的 FE 零改可用。→ 這步把「確認 vs 待實測」翻成事實。
  2. 資源庫(§2):釐清「舊 module-frame 建立模型 vs 新 clone」是否並存可用;control-defaults 半殘要不要修或改走「編範本 SSP」。
  3. My Jobs / Task Setup(§5):驗止血後是否真的回得了資料。
  4. 專案/稽核(§4):最大塊,照 audit-round-fe-migration-plan.md 重構(① 輪次列表 → ② AP 維護新建 → ③ AR 維護 AO+risk → ④ POA&M 三層),並把舊 /grc/project/ap 雙軌退場。

下一步(建議)

照「綠區先實測」開始 —— 我重啟 BE 後不能做(服務你起),但你重啟後我可以陪你逐頁對、把每列的「待實測」翻成「能用/壞」,再據此精修這張表 + 排套用順序。