FR-043 執行交接 Prompt(設計已核可 → 進入 plan + 實作)

產生日期:2026-07-02。設計 session 已完成 design.md(過 spec review)+ analysis + FR 登記 + Notion 任務(Case No: FR-043,狀態 In progress)。以下 prompt 直接貼給執行 session。


你是 FR-043「稽核計畫 docx 匯入」的執行工程師。設計階段已完成並經 user 核可, 你的工作是產出 implementation plan、經 user 確認後實作。

0. 前提與邊界(違反即錯誤行為)

  • 工作 branch:compliance-manager-befeature/FR-043(已存在)。永不切 branch; 發現 branch 不對停下問 user。FE repo 在當下 branch 直接作業。
  • 可自行做階段性 commit(顯式 git add <檔名>,禁 -am);push 永遠等 user 明示
  • jedi- 套件零異動*(設計已確認不需要)。若實作中發現非動不可,停下回報,不要默默改。
  • 收尾動作(changelog / SUMMARY / Notion 更新 / FIXED 標記)等 user 下令才做
  • BE 改 service code 後提醒 user 重啟 BE(無 hot reload);服務由 user 自己起。

1. 必讀(依序,開工第一步)

  1. BE repo CLAUDE.md(DDD 分層、@transaction/session 規範、error code、SQL migration 鐵則)
  2. docs/features/FR-043-2607-ap-docx-import/design.md — 本功能規格(single source of truth)
  3. docs/analysis/2026-07-02-ap-docx-import-oscal-mapping.md — 欄位對應依據
  4. FE 動工前:FE repo CLAUDE.md + BE repo docs/claude/frontend-overview.md
  5. Mirror 對象源碼:app/oscal/service/ssp_docx_import_app_service.py(管線 pattern)、 app/grc/service/assessment_plan_app_service.py(set_tasks / add_ap_party / _resolve_ap_and_check_auditor)、FE src/components/grc/ssp-docx-import-v2/

2. Pre-flight verify(寫 plan 前必做,不可跳過)

design.md 是 2026-07-02 寫的,開工前逐項驗證它引用的東西還在、簽名沒變:

  • 任何一項與 design.md 不符 → 先回報 user,不要自行改 spec 硬上。

3. 產出 implementation plan

superpowers:writing-plans skill,輸出到 docs/features/FR-043-2607-ap-docx-import/implementation-plan.md (絕不可用 skill 預設的 docs/superpowers/ 路徑)。Plan 分 phase 建議:

  • Phase A:BE 基建 — ap_docx_parse_jobs migration(含 GRANT cm_app + schema_migrations 收尾)、entity/model/mapper/repo(繼承 BaseRepositoryImpl)、DI wiring
  • Phase B:parser — ApReportParserAdapter 介面 + registry + 亞航 v1 adapter (TDD:先用樣本 docx 寫 snapshot 測試)
  • Phase C:app service + route + serializer(權限矩陣、TTL、412 語意照 design.md §4.2/§4.3; gate 提 public helper;party 同名配對策略;append 的 detail→_TaskItem 轉換)
  • Phase D:FE — ApDocxImportDialog.vue 三步 wizard + 入口按鈕 + draft localStorage (mirror useSspDocxDraft;Steps 用 :active-step
  • Phase E:測試計畫(feature-test-planner agent 產 test-plan.md)+ e2e (在 compliance-manager-test repo,不在 BE 加 e2e)

Plan 寫完給 user 過目,核可後才動工。

4. 實作紀律

  • 每個 app service public method 掛 @transaction;repo 不在 __init__ 拿 session
  • Route 層不碰 DB;權限檢查在 app service 層 fail-closed
  • 新增前先 grep 既有能力(禁止重複造輪子);發現 stub/壞掉回報不繞過
  • BE pytest 放 test/;app service test 記得 logger patch fixture (DBLogHandler 對 SessionLocal=None 會炸)
  • SQL migration 用 cmmgr 帳號、psql --single-transaction -v ON_ERROR_STOP=1 -p 25432, 先套 DEV(guidant_ai_dev@192.168.50.188),密碼查 .env
  • 完成的定義:BE pytest 綠 + 手動 smoke(上傳亞航樣本 → 預覽 → confirm → ap-authoring 頁看到行程)+ 給 user 一句話 status + 手測 checklist,然後停下等 user

5. 驗收基準(design.md §3 的欄位對應)

上傳亞航樣本後 preview 應解析出:標題、稽核日期 2026-06-02、稽核單位「鈊安資安顧問」、 方法 INTERVIEW/EXAMINE/TEST + §6.3 拆出的每方法查核指引、範圍敘述進備註、 依據+目的作為參考資訊(checkbox 預設附進備註)。confirm 後行程 append、 受評控制項/受評對象 tab 推導回填、稽核人員出現在 parties。


(prompt 結束)