# FR-041 缺失改善（POA&M）頁 A 版重設計 — 收尾 SUMMARY（2026-06-21）

## 一句話
照 `poam-page-redesign-spec.md` 把缺失改善頁從 accordion 改成 DataTable 清單 + Sidebar 抽屜，並在同 session 把矯正措施區重設計成卡片化、加上刪除/稽核建議保護/缺失脈絡標籤化/結案提示，外加 AP 唯讀呈現與移除 OSCAL 文案。

## Commits（皆 branch `FR-040-AP-improvement`，未 push）
| Repo | commit | 內容 |
|---|---|---|
| BE | `98371f40` | 缺失改善頁可刪里程碑/改善計畫 + 稽核建議保護（新端點 + GRC_409006）|
| FE | `e5dd953` | 缺失改善頁 A 版重設計（DataTable + Sidebar + 卡片化 + 刪除 + 脈絡標籤 + 結案提示 + 日期修補 + AR 副標去 AO）|
| FE | `e4e8dc3` | AP 唯讀「行程與方法」改乾淨唯讀呈現 |
| FE | `cb22aa5` | 移除 AP/AR user-facing OSCAL 字眼 |

## 行為差異
- **缺失改善頁**：accordion 疊四層 → 表格掃描 + 抽屜聚焦；里程碑卡片可顯示/編輯切換、狀態一鍵循環、可刪；稽核建議受保護不可刪；觀察拆「看到什麼/蒐證方法/查核對象」。
- **AP 唯讀**：disabled 灰表單 → 標籤化行程摘要。
- **文案**：AP/AR 不再出現「OSCAL assessment-subjects」「AO」。

## 規範文件
- changelog ×3：`2026-06-21-feat-fr041-poam-page-a-redesign.md` / `-tweak-ap-readonly-display.md` / `-tweak-remove-oscal-copy-ap-ar-poam.md`
- design.md §11（POA&M A 版實作紀錄 + 結案/覆核流程確認）
- handoff doc 加 ✓ DONE 標頭

## BE 重點（給後續/部署）
- 新端點：`DELETE /audit-round/{round}/poam-milestone/{uid}`、`DELETE /audit-round/{round}/remediation/{uid}`（manager 守門）。
- 稽核建議（lifecycle=recommendation）BE 擋刪 → `GRC_POAM_RECOMMENDATION_PROTECTED`(409)。
- repo `delete_by_id` 繼承自 BaseRepositoryImpl，**未動 jedi_oscal_v2 套件**。
- **BE 改了 service/route → 部署/手測前需重啟 BE。**

## 結案/覆核流程（核 BE 確認）
缺失里程碑全 done → item 自動 closed → 本輪全 closed 後 manager `close_round` → 母輪 `pending_reverify` → `launch_reverify` 開 close-out 覆核輪 → 覆核確認連動關母輪。**非自宣告通過**。

## 待辦
1. ✅ **jedi-oscal-v2 已發版 2.1.0 到 Nexus**（2026-06-21）— FR-040 link 表 model（ap_task_subjects / ap_task_participants）原懸在 2.0.0 未 bump，已 bump 2.1.0 發 Nexus、BE pin 2.1.0、清 symlink 殘留並複驗走 Nexus 實體 artifact。套件 commit `b9726d2`、BE pin commit `7863d027`。
   - ⚠️ **套件 git repo（jedi-oscal-v2）仍需 user push GitLab**（Claude 無憑證；Nexus 已發成功）。
   - ⚠️ BE pin commit `7863d027` 在前次 push 之後 → **BE 需再 push 一次**。
2. POC / PROD 部署（DB migration 本批無新增；DEV/STG 既有 migration 已套）。
