FR-043 稽核計畫 docx 匯入 — 實作收尾 SUMMARY

Date: 2026-07-02 · Branch feature/FR-043(BE + FE,皆未 push)· 狀態:修正待驗證(user 已手測通過)

1. 一句話

上傳顧問稽核報告 docx → 解析章節預填成行程 → 預覽 / 修改 / 確認 → append 進 AP(走既有 set_tasks / add_ap_party),本期支援亞航 CMMC L1 v1 格式、架構以 adapter registry 可擴充。

2. Commits

BE(compliance-manager-be,18 commits)

commit 內容
d3613fb 設計規格 + 前置研究分析
36386f61 執行交接 handoff prompt
bb9e24f ap_docx_parse_jobs 表 migration(RLS + GRANT cm_app)
d4eb611 parse job entity/model/mapper/repo/domain service
ee13bfc6 DI wire parse-job + upload_file_container 進 GrcContainer
42130222 parser adapter registry + 亞航 CMMC L1 v1(TDD)
ce374519 error codes + gate helper 提 public(auditor/participant 兩版)
4afce6f8 ApDocxImportAppService(parse/preview/confirm,append + party 配對 + participants)
126ed3c8 route + app service DI wiring
3c5ae596 fixorg_unit_id 欄位(TenantScopedMixinModel 多租戶需要)
45b129d3 / 5722bfef refactor 行程改 1..N 清單(ParsedApTask[] + suggested_tasks
53911111 / fd92d197 fix §6 逐子點分流(6.3 拆句進指引、6.1+6.2 進 methodology_text)
eb4b728f / afaa82d3 fix title 行程化 + timing 帶開始時間 + orphan 併入 methodology
88a8bf51 / a163e34c feat 查核控制項預設全選

FE(compliance-manager-fe,4 commits)

commit 內容
22288c7 ap-authoring 對話框 wizard(三步)
529638d refactor 預覽改多筆行程卡清單(對齊 BE suggested_tasks)
c854623 參考資訊新增稽核方法論區塊(對齊 BE methodology_text)
2f95f34 fix 匯入成功後全量重整 ap-authoring 清單(顯示 loading)

3. 改動範圍

  • BE 新增oscal.ap_docx_parse_jobs 表 + DDD 資料層(grc 模組);app/grc/service/ap_report_parser/ (base/registry/亞航 adapter);app/grc/service/ap_docx_import_app_service.pyapi/project/routes/ap_docx_import_route.py + serializer;GRC_400090/091 error code
  • BE 修改AssessmentPlanAppService(gate 提 public ×2 + get_ap_tasks_as_task_items); grc / root DI container(parse-job + registry + app service + upload_file_container)
  • FEApDocxImportDialog.vue + useApDocxDraft.js + ApDocxImportService.js + api.js; RoundApAuthoringView.vue 入口 + 重整;i18n

4. 行為差異

ap-authoring 頁(audit_planning + manager/auditor + AP 已存在)多「匯入稽核計畫」按鈕。上傳亞航樣本 → 預覽:標題「CMMC 2.0 Level 1內部稽核」/ 日期 2026-06-02 10:00 / 方法 4 項各帶專屬指引 / 控制項預設全選 / 參考資訊三塊(依據/目的/方法論,附進備註預設勾)/ 稽核人員配對「鈊安資安顧問」→ 確認 → 行程 append、參與人員入 parties、受評控制項/受評對象 tab 推導回填。既有手動流程不變。

5. 規範文件清單

  • ✅ 設計規格 design.md(含 §3 五輪實測回饋更新規則)
  • ✅ 前置研究 docs/analysis/2026-07-02-ap-docx-import-oscal-mapping.md
  • ✅ 實作計畫 implementation-plan.md
  • ✅ changelog docs/changelog/2026-07-02-feat-fr043-ap-docx-import.md
  • ✅ 本 SUMMARY
  • ✅ memory:feedback_tenant_scoped_table_needs_org_unit_idfeedback_date_only_utc_midnight_display_bug

6. 已知 follow-up

  • SQL migration STG / POC / PROD 待套2026-07-02-ap-docx-parse-jobs.sql + 2026-07-02-ap-docx-parse-jobs-add-org-unit-id.sql(DEV 已套)
  • e2e 測試待補(compliance-manager-test repo):上傳→預覽改欄位→確認→行程出現在列表
  • BE + FE 皆未 push:等 user 明示
  • 既有 bug GRC_DOCX_FILE_TOO_LARGE(GRC_400006)訊息寫 10MB 與常數 20MB 不符 —— 非本 FR、另記

7. 部署 handover

  • BE 無 hot reload → 部署重啟;FE 重新 build。
  • 完成定義已達:BE pytest 49 綠 + 手動 smoke 通過(user 已驗 title/timing/指引/控制項全選/重整)。