設計見同夾
design.md。原則:先文件後 code;每階段先跑 pre-flight 驗假設再動。 實作序 A → B → C(C 依賴 A);每階段 user 手測通過才進下一階。AR 是敏感管線,逐塊上、不一次全炸。
assessment_result_app_service.get_findings 與 control-detail 端點回什麼;FE AuditControlRef 的 controlDetail/controlMeta 從哪來(決定規劃指引塞哪個欄位回前端)。init_ar_matrix_for_round / _assessment_log_from_tasks 實際 echo 哪些;AP activities(steps/props/related_controls)怎麼依控制項取(control-id 對 activity.related_controls)。assessment_log entry vs 新 planning_context JSONB —— 傾向不動 schema(塞 assessment_log 或 detail API 即時組)。確認 AR 是否要「凍結」規劃(snapshot)還是「即時讀 AP」(若 AP 已凍結則即時讀亦可)。{control_id: {methods, guidance:[{method, description}], subjects}},由 AP activities 組(steps→guidance、props→methods、related_controls→control 對應)。AuditControlRef 加「規劃查核指引」區(唯讀):方法 chip + 各方法指引文字。risk/AR risk entity 有哪些欄(severity 確定有;驗有無 remediation/影響欄);既有 risk 端點 payload(POST /risks、PUT /risk/{uid}、/risk/{uid}/findings)。poam_app_service close round 生成 POA&M 時讀 finding 還是 risk、帶哪些欄(決定矯正建議/嚴重度怎麼流進去)。risk.linked_findings 機制(FE notMetControls → risk sources)。risk.remediation/POA&M item)。not_met → 就地展開風險小表單(嚴重度 + 風險/影響描述 + 矯正建議);存判定一併 upsert risk + link 該 finding(沿用既有端點)。POST /observations(description/methods/subjects/relevant_evidence)能否標記「對應哪個規劃方法」(用 methods 即可?需 props?)。loadEvidence(job 檔/問卷/Drive)的結構,作為「證據引用」下拉母體。