狀態:Phase 1–4 完成(design + plan + test-plan 全 commit) 建立日期:2026-05-13 接手目標:Phase 5 BE/FE 實作落地
我要在新 session 接 Spec 3「AP 套用流程」Phase 5 實作階段。工作目錄 BE:~/Projects/Billows/Audit-Manager/compliance-manager-be/。
Spec 3 已完成 Phase 1–4(design / plan / test-plan 全在 branch),直接走 Phase 5 實作。建議用 superpowers:subagent-driven-development skill(每 task 一個 fresh subagent,主 session 做 review checkpoint);如果想 inline 跑用 superpowers:executing-plans。
建 AP 時加流程範本 dropdown + 預覽 Dialog;BE 接 flow_template_uid(必填)、建 AP 同時 snapshot clone BPMN 到 AP 的 workflow_execution;補上 Spec 2 漏蓋的 launch_new_round 也要綁 main workflow。
| Phase | 文件 | 路徑 |
|---|---|---|
| 1+2 design | design.md v2.1(5 條 open questions resolved + Spec 2 gap 認知) | docs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/design.md |
| 3 plan | implementation-plan.md v1.1(M0–M8 task 拆解) | 同上 dir /implementation-plan.md |
| 4 test plan | test-plan.md v1(26 AC / 70+ BE tests / 7 E2E + 4 fixture bug) | 同上 dir /test-plan.md |
| 0 handoff | 上次接手 prompt | 同上 dir /handoff-v1.md |
M0 Pre-flight verify(8 步 grep 確認 default lookup 無外部 caller / FE changelog 慣例 / dropdown 落點)
M1 BE error code 整理(刪 412022、fix 500001→412024)
M2 BE AP list+detail enrichment(FlowTemplateEnricher 三段 batch query)
M3 Spec 2 carry-forward 5 service test gap(**先補測試**再做 M4 防 regression)
M4 BE 核心:_bind_main_workflow_to_ap 接 flow_template_uid + launch_new_round 補綁 main workflow + 拔 hardcode default
M5 FE ProjectCreateView dropdown + 預覽 Dialog
M6 FE ProjectApListView Dialog dropdown + default 帶值
M7 Manual smoke(必過項:兩個範本各跑完整 lifecycle + DB 驗 + snapshot 隔離驗)
M8 事後:Phase E 4 fixture bug + 3 個 Banner BDD scenario 重寫
cd ~/Projects/Billows/Audit-Manager/compliance-manager-be && git branch --show-current — 確認在 feature/project-flow-engine-integrategit log --oneline -5 — 確認 HEAD = 20d04d8(Phase 4 test-plan v1)git status --short — 預期只看到 M pyproject.toml(jedi-flow-engine path mode dev-only,不 commit)tail -5 log/app.log — BE 沒在跑就 python main_socketio.pydocs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/design.md 全文(v2.1)implementation-plan.md M0 段 8 步驟(M0 必跑完才能開始 M1)Skill: superpowers:subagent-driven-development
依 implementation-plan.md M0–M8 依序執行:
- 每 task 一個 fresh subagent
- subagent prompt 必加「git add 顯式檔名禁用 -am」(memory: feedback_subagent_explicit_git_add)
- 每 task 完 review checkpoint
- BE service code 改完必重啟(pkill -9 + python main_socketio.py + 清 pyc,memory: feedback_be_restart_after_service_change)
- 階段性 commit 不問
- 重大決策(架構衝突 / 需選方案)才停下問
| 文件 | 用途 |
|---|---|
docs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/design.md |
本 Spec 設計 v2.1 — 必讀 |
docs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/implementation-plan.md |
本 Spec 實作計畫 v1.1 — M0–M8 step-level 操作指南 |
docs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/test-plan.md |
本 Spec 測試計畫 v1 — 26 AC + 追溯矩陣 |
docs/features/FR-026-2605-project-flow-engine-integrate/03-ap-binding/handoff-v1.md |
上次接手 prompt(含 Phase 1–4 前情) |
docs/features/FR-026-2605-project-flow-engine-integrate/README.md |
整體脈絡(A/B/C 三種專案情境) |
| 文件 | 為何要看 |
|---|---|
docs/features/FR-026-2605-project-flow-engine-integrate/02-stage-integration/design.md |
Spec 2 §十 reconciliation 是 Spec 3 銜接點 |
docs/issues/resolved/2026-05-13-spec2-step22-snapshot-pattern.md |
step 22 snapshot pattern — M4 改造要 align |
app/flow_engine/service/workflow_template_snapshot_service.py |
Spec 2 寫的 service — M4 reuse |
app/project/service/oscal_project_service.py:492-543 |
_bind_main_workflow_to_ap helper — M4 改造 |
app/project/service/oscal_project_service.py:604 |
launch_new_round — M4 補 step 10 呼叫 helper |
| 路徑 | 用途 |
|---|---|
compliance-manager-fe/src/views/flow-template/components/FlowTemplatePreviewDialog.vue |
M5/M6 直接 reuse |
api/flow_engine/__init__.py:64-65 |
/flow-engine/flow-templates list/detail API 已 ship |
| 文件 | 用途 |
|---|---|
CLAUDE.md |
DDD / @transaction / Error code / API patterns / SQL migration 規範 |
docs/claude/feature-development-workflow.md |
6 階段 SOP |
docs/claude/jedi-packages.md |
jedi-flow-engine API 參考 |
docs/claude/frontend-overview.md |
BE 視角 FE cheatsheet(PrimeVue quirks / design tokens / Audit Lifecycle UI) |
| 文件 | 用途 |
|---|---|
docs/issues/pending/2026-05-13-test-fixture-broken-by-spec2-phase-d-and-fe-refactor.md |
Phase E 4 bug — M8 處理 |
docs/review/2026-05-13-spec2-be-review.md |
Spec 2 carry-forward 清單(M1/M3 順手 fix) |
M4.4 改造 _bind_main_workflow_to_ap 是 breaking change
flow_template_uid 會直接 400M3 為何要在 M4 之前
_bind_main_workflow_to_ap + 拔 default lookup 會影響 WorkflowTemplateSnapshotService / StageAdvanceService 等WorkflowTemplateService.get_many_by_uids 是 jedi-flow-engine 套件異動
pyproject.toml 已切,不 commit)M0 必跑完
FE dropdown 落點要 M0 Step 8 確認
ProjectBasicInfoForm.vue 為主BE log 是 log/app.log 不是 stdout
tail -f log/app.log 看;不要靠 lsof -p 找pkill -9 -f main_socketio.py 重啟(nohup 留 orphan PID)DB 連線
192.168.50.188, port 25432, db guidant_ai_devcmmgr(不用 cm_app,會被 RLS 擋)jedi@123!DTO 名 vs ORM column 不一致
Mapped[] 看真實欄位名catalog_control_id 但 ORM 是 control_iddocs/analysis/YYYY-MM-DD-<topic>.mddocs/conversation-history/2026-05-13-spec3-ap-binding/SUMMARY.md + part-NN| 階段 | 動作 |
|---|---|
| Phase 6 review | 用 pr-review-toolkit:review-pr 多 agent parallel review;報告存 docs/review/2026-05-13-spec3-review.md |
| Task arc 收尾 | 整理 SUMMARY.md + conversation-history(gitignored) |
| 套件發版 | user 明確同意才動,jedi-flow-engine 0.0.28 bump + Nexus + 主專案 pin 改回 |
| Phase E 重做 | compliance-manager-test repo,跨 repo 處理 |
| Commit | 階段 | 文件 |
|---|---|---|
4d93322 |
Phase 1 brainstorm | design.md v2 |
5acceb0 |
Phase 2 spec review fix | design.md v2.1 |
f40cfcc |
Phase 3 plan | implementation-plan.md v1 |
c0e26bd |
Phase 3 plan review fix | implementation-plan.md v1.1 |
20d04d8 |
Phase 4 test plan | test-plan.md v1 |
5 commits 都在 feature/project-flow-engine-integrate branch,working tree 留 M pyproject.toml(jedi-flow-engine path mode)。
| 版本 | 日期 | 變更 |
|---|---|---|
| v1 | 2026-05-13 | Spec 2 task arc 收尾後接 Spec 3 開工(Phase 1 brainstorm) |
| v2 | 2026-05-13 | Phase 1–4 完成後接 Phase 5 實作 |