FR-026 · 需求索引 · 本頁由 build 掃資料夾生成

專案流程與流程引擎整合

文件 22 份 handoff 4 份

狀態:✅ v1.0 shipped (2026-05-15) 建立日期:2026-05-12 對應原始需求docs/draft_requirement_spec/project-flow-engine-integrate/requirement.md

📋 最終 spec 看這份FINAL-SPEC-v1.0.md(對外溝通 single source of truth) 🛠 部署 SQLscripts/sql/2026-05-15-bpmn-integration-v1.0-upgrade.sql(單一入口,idempotent)

以下保留原 brainstorm 紀錄,供「為什麼這樣設計」溯源。實際 v1.0 落地內容請以上方 FINAL-SPEC 為準。


§1

一、整體脈絡

目前 AP(稽核計畫)執行流程寫死成 6 個固定階段(規劃 → 執行 → 稽核 → 缺失改善 → 結案 + 再開新 AP),無法跳過 / 中斷 / 自訂。

本案要把 AP lifecycle 用 BPMN 流程引擎驅動,讓使用者依稽核情境組合不同流程:

情境範例 需要的 stage
A 專案:CMMC 2.0 L1 正式稽核導入 規劃 → 執行 → 稽核 → 缺失改善 → 結案
B 專案:CMMC 2.0 L1 自我檢查 規劃 → 執行 → 結案
C 專案:CMMC 2.0 L1 內部稽核 規劃 → 執行 → 稽核 → 結案(無缺失改善)

§2

二、設計大方向(Q&A 確認過的決定)

主題 決定
核心原則 Minimum scope = 流程狀態依 BPMN 推進;非推進相關的既有 UI(導航按鈕 / overview 結構)一律不動
起手姿態 Fresh start,不參照前次失敗紀錄(docs/fail_feature_backup/ 僅供歷史)
階段顆粒度 整頁綁定為主;部分 stage 不綁頁面(如「執行任務」靠 AP 狀態 + 角色過濾資料)
角色系統 沿用既有 4 種:manager / reviewer / auditor / viewer;stage 配主要角色(誰能 complete);參與角色 v1 不做,沿用既有 v-if
範本生命週期 內建唯讀 / 自訂可編 / AP 套用時 snapshot clone / 歷史永久保留
階段物件 有完整 schema 的 DB 資源;本輪 spec seed 4 個基礎物件(planning / task_execution / audit / poam);CRUD UI 留待後續 spec
權限管理 接系統 RBAC(左側選單功能項受權限控制)
UI 收口 推進按鈕(4 個既有:啟動專案 / 啟動稽核 / 提交稽核 / 完成改善)拆下來搬到 Banner,副作用接既有 OSCAL API(activate / launch-audit / confirm-audit / close-round);導航按鈕(專案規劃 / 進入稽核 / 查看稽核 / 改善計畫)完全不動
Banner 內容 階段名 + 純預覽進度條(不可點) + 提示文字 + 推進按鈕
AP ↔︎ workflow_execution 1:1,每個 AP 自己有獨立 snapshot;多 AP 之間流程互不影響
Stage ↔︎ AP.status planning=preparing / task_execution=active / audit=auditing / poam=remediation / EndEvent=closed

§3

三、三份 Spec 拆分與依賴順序

Spec 1(流程管理)
  ↓ 提供「階段物件 registry」+「範本格式」
Spec 2(階段抽象整合)
  ↓ 提供「Stage 推進機制」+「AP↔workflow_execution 關聯」
Spec 3(AP 套用流程)
  ↓ 提供「建 AP 選範本 + Overview 殼層整合」
Spec 目錄 核心目標
1 01-flow-template-management/ 範本 CRUD + BPMN 編輯器
2 02-stage-integration/ 既有 5 個 view 接 Stage 推進 + Banner + 副作用搬家
3 03-ap-binding/ 建 AP 時挑範本 + snapshot + Overview 殼層整合

每份 Spec 可獨立交付驗證

  • Spec 1 完成:admin 可建範本,但還沒地方套用
  • Spec 2 完成:手動把 AP 綁 default 範本,5 個 view 可用 Banner 推進
  • Spec 3 完成:建 AP 時選範本 → 完整流程跑通

不同 session 接手可從任一 spec 起手

依賴介面已於各 spec 文件「對外介面」段明確標示。


§4

四、整體開放問題

以下問題不在單一 spec 內,需先有方向再下放:

v2 已 resolved(不再列為開放問題):觀察者角色內頁權限(沿用既有 v-if)、執行任務推進條件(PM 手動按 + force=false 既有邏輯)、多 AP 流程獨立性(snapshot clone 自然成立)


§5

五、未保留 / 不打算延續的舊資產

舊資產位置 處置
docs/fail_feature_backup/ 純歷史紀錄,本 spec 不引用其決策
未追蹤檔 domain/flow_engine/repository/i_ext_assessment_plan_repo.py 將於 spec 落地時刪除或重寫(依 Spec 2 設計重做)
未追蹤檔 infra/flow_engine/repository/ext_assessment_plan_repo_impl.py 同上

§6

六、文件版本

版本 日期 變更
v1 2026-05-12 初版大方向,brainstorm Q1~Q5 結論落地
v2 2026-05-12 review 收斂:4 個 stage 確認 / AP.status 對映 / 角色名對齊 manager/reviewer/auditor/viewer / 推進按鈕 ↔︎ 4 個既有 API 對映 / Banner 結構含純預覽進度條 / 導航按鈕沿用既有 v-if / Spec 3 修正 AP 建立位置(ProjectCreateView + ProjectApListView Dialog 兩處)
v3 2026-05-12 Spec 2 §九 決議落地:§四 3 條跨 spec 議題 resolved(preparing 點 / loop back / launch_new_round 範本預設值)
§7

文件

以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。

設計

文件 類型 標題 最後更新
FINAL-SPEC-v1.0md 定版 spec 專案流程與流程引擎整合 — FINAL SPEC v1.0 2026-05-29

01-flow-template-management/(3 份)

設計

文件 類型 標題 最後更新
designmd 設計 Spec 1:流程管理 2026-05-29
frontend-specmd 前端規格 Spec 1 流程範本管理 — FE 接手文件 2026-05-29

實作與測試

文件 類型 標題 最後更新
implementation-planmd 實作計畫 Spec 1 流程管理 Implementation Plan 2026-05-29

02-stage-integration/(6 份)

設計

文件 類型 標題 最後更新
designmd 設計 Spec 2:階段抽象整合 2026-05-29

實作與測試

文件 類型 標題 最後更新
implementation-planmd 實作計畫 Spec 2:階段抽象整合 — 實作計畫 2026-05-29
test-planmd 測試計畫 Test Plan: Spec 2 階段抽象整合 2026-05-29

其他文件

文件 類型 標題 最後更新
handoff-prompt-phase-cmd 文件 Spec 2 Phase C 交接 Prompt — FE Banner + composable + service 2026-05-29
handoff-prompt-phase-dmd 文件 Spec 2 Phase D 交接 — FE 4 個 view 掛 Banner + 拆既有按鈕 2026-05-29
handoff-prompt-phase-emd 文件 Phase E Handoff Prompt — Spec 2「階段抽象整合」E2E BDD Scenarios 2026-05-29

03-ap-binding/(7 份)

設計

文件 類型 標題 最後更新
designmd 設計 Spec 3:AP 套用流程 2026-05-29

實作與測試

文件 類型 標題 最後更新
implementation-planmd 實作計畫 Spec 3「AP 套用流程」Implementation Plan 2026-05-29
test-planmd 測試計畫 Test Plan: Spec 3 — AP 套用流程(Flow Template Binding) 2026-05-29

其他文件

文件 類型 標題 最後更新
handoff-v1md 文件 Spec 3「AP 套用流程」開工 handoff v1 2026-05-29
handoff-v2md 文件 Spec 3「AP 套用流程」Handoff v2 — Phase 5 實作開工 2026-05-29
handoff-v3md 文件 Spec 3「AP 套用流程」Handoff v3 — 任務收尾後接手指南 2026-05-29
phase6-followup-planmd 文件 Spec 3「AP 套用流程」Phase 6 Follow-up 執行計劃 2026-05-29

04-review-stage-and-flow-validation/(5 份)

設計

文件 類型 標題 最後更新
designmd 設計 Spec 4:審核階段 + 流程方向性驗證 2026-05-29

實作與測試

文件 類型 標題 最後更新
implementation-planmd 實作計畫 Spec 4「審核階段 + 流程方向性驗證」Implementation Plan 2026-05-29

其他文件

文件 類型 標題 最後更新
handoff-v1md 文件 Spec 4 接手指南 v1(M7 起手) 2026-05-29
handoff-v2md 文件 Spec 4 接手指南 v2(M10 起手,FE + 收尾) 2026-05-29
handoff-v3md 文件 Spec 4 接手指南 v3(最終交接 — stg 部署 + smoke + bug fix 環節) 2026-05-29

交接與收口時間軸(handoff/,4 份)

由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。

日期 文件 標題
2026-05-29 2026-05-13-spec3-ap-binding-SUMMARYmd Spec 3「AP 套用流程」Task Arc Summary
2026-05-29 2026-05-11-oz-series-00-summarymd OZ 系列收尾 Handover Summary — 2026-05-11
2026-05-29 2026-05-08-arc-SUMMARYmd Project Flow Engine — 實作 Task Arc 收尾報告
2026-05-29 2026-05-07-SUMMARYmd Project Flow Engine Setting — Final Summary