FR-026 · 需求索引 · 本頁由 build 掃資料夾生成
狀態:✅ 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) 🛠 部署 SQL:scripts/sql/2026-05-15-bpmn-integration-v1.0-upgrade.sql(單一入口,idempotent)以下保留原 brainstorm 紀錄,供「為什麼這樣設計」溯源。實際 v1.0 落地內容請以上方 FINAL-SPEC 為準。
目前 AP(稽核計畫)執行流程寫死成 6 個固定階段(規劃 → 執行 → 稽核 → 缺失改善 → 結案 + 再開新 AP),無法跳過 / 中斷 / 自訂。
本案要把 AP lifecycle 用 BPMN 流程引擎驅動,讓使用者依稽核情境組合不同流程:
| 情境範例 | 需要的 stage |
|---|---|
| A 專案:CMMC 2.0 L1 正式稽核導入 | 規劃 → 執行 → 稽核 → 缺失改善 → 結案 |
| B 專案:CMMC 2.0 L1 自我檢查 | 規劃 → 執行 → 結案 |
| C 專案:CMMC 2.0 L1 內部稽核 | 規劃 → 執行 → 稽核 → 結案(無缺失改善) |
| 主題 | 決定 |
|---|---|
| 核心原則 | 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 |
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 內,需先有方向再下放:
v2 已 resolved(不再列為開放問題):觀察者角色內頁權限(沿用既有 v-if)、執行任務推進條件(PM 手動按 + force=false 既有邏輯)、多 AP 流程獨立性(snapshot clone 自然成立)
| 舊資產位置 | 處置 |
|---|---|
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 |
同上 |
| 版本 | 日期 | 變更 |
|---|---|---|
| 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 範本預設值) |
以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| FINAL-SPEC-v1.0 / md | 定版 spec | 專案流程與流程引擎整合 — FINAL SPEC v1.0 | 2026-05-29 |
01-flow-template-management/(3 份)設計
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| design / md | 設計 | Spec 1:流程管理 | 2026-05-29 |
| frontend-spec / md | 前端規格 | Spec 1 流程範本管理 — FE 接手文件 | 2026-05-29 |
實作與測試
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| implementation-plan / md | 實作計畫 | Spec 1 流程管理 Implementation Plan | 2026-05-29 |
02-stage-integration/(6 份)設計
實作與測試
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| implementation-plan / md | 實作計畫 | Spec 2:階段抽象整合 — 實作計畫 | 2026-05-29 |
| test-plan / md | 測試計畫 | Test Plan: Spec 2 階段抽象整合 | 2026-05-29 |
其他文件
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| handoff-prompt-phase-c / md | 文件 | Spec 2 Phase C 交接 Prompt — FE Banner + composable + service | 2026-05-29 |
| handoff-prompt-phase-d / md | 文件 | Spec 2 Phase D 交接 — FE 4 個 view 掛 Banner + 拆既有按鈕 | 2026-05-29 |
| handoff-prompt-phase-e / md | 文件 | Phase E Handoff Prompt — Spec 2「階段抽象整合」E2E BDD Scenarios | 2026-05-29 |
03-ap-binding/(7 份)設計
實作與測試
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| implementation-plan / md | 實作計畫 | Spec 3「AP 套用流程」Implementation Plan | 2026-05-29 |
| test-plan / md | 測試計畫 | Test Plan: Spec 3 — AP 套用流程(Flow Template Binding) | 2026-05-29 |
其他文件
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| handoff-v1 / md | 文件 | Spec 3「AP 套用流程」開工 handoff v1 | 2026-05-29 |
| handoff-v2 / md | 文件 | Spec 3「AP 套用流程」Handoff v2 — Phase 5 實作開工 | 2026-05-29 |
| handoff-v3 / md | 文件 | Spec 3「AP 套用流程」Handoff v3 — 任務收尾後接手指南 | 2026-05-29 |
| phase6-followup-plan / md | 文件 | Spec 3「AP 套用流程」Phase 6 Follow-up 執行計劃 | 2026-05-29 |
04-review-stage-and-flow-validation/(5 份)設計
實作與測試
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| implementation-plan / md | 實作計畫 | Spec 4「審核階段 + 流程方向性驗證」Implementation Plan | 2026-05-29 |
其他文件
| 文件 | 類型 | 標題 | 最後更新 |
|---|---|---|---|
| handoff-v1 / md | 文件 | Spec 4 接手指南 v1(M7 起手) | 2026-05-29 |
| handoff-v2 / md | 文件 | Spec 4 接手指南 v2(M10 起手,FE + 收尾) | 2026-05-29 |
| handoff-v3 / md | 文件 | Spec 4 接手指南 v3(最終交接 — stg 部署 + smoke + bug fix 環節) | 2026-05-29 |
由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。
| 日期 | 文件 | 標題 |
|---|---|---|
| 2026-05-29 | 2026-05-13-spec3-ap-binding-SUMMARY / md | Spec 3「AP 套用流程」Task Arc Summary |
| 2026-05-29 | 2026-05-11-oz-series-00-summary / md | OZ 系列收尾 Handover Summary — 2026-05-11 |
| 2026-05-29 | 2026-05-08-arc-SUMMARY / md | Project Flow Engine — 實作 Task Arc 收尾報告 |
| 2026-05-29 | 2026-05-07-SUMMARY / md | Project Flow Engine Setting — Final Summary |