FR-147 · 討論稿 · 2026-10-17

資源庫任務說明

顧問在合規資源庫替每條評估目標底下的每個任務寫名稱、描述、指南;專案啟動原封帶進任務;一份 Excel 兩邊共用

顧問做完資源庫,想替每個任務先寫好「要做什麼、怎麼做」,讓之後做任務的人打開就看得懂。現在做不到,因為資源庫階段還沒有任務——任務是專案啟動後才長出來的;而且 PM 啟動後會改流程,一條評估目標可能變三個任務。本案讓資源庫頁在每條評估目標底下直接列任務(啟動前讀流程圖、啟動後讀專案現況),三欄可填,並給一份一列一任務、評估目標欄合併儲存格的 Excel 來回匯。方向與 D1~D4、D6 決策者已裁(2026-10-17);雛形見 prototype/index.html。

方向三點+D1~D4、D6 已裁(2026-10-17) 雛形審過;顧問不改流程(D6) 不開新表、不動套件 任務產生只帶三欄,不改多節點

雛形審過、D1~D5 裁完後寫 design.md,本稿不再改寫。

狀態:討論稿(方向與 D1~D4、D6 已裁,雛形審過;D5 撤銷) | 日期:2026-10-17 | 雛形:prototype/index.html | 前作:FR-139 收口時釐清三條(只給顧問名稱/描述/指南、任務不進版本、Excel 加兩欄兩邊共用)

路徑慣例:BE 路徑相對 compliance-manager-be/;FE 路徑相對 compliance-manager-fe/;pkg/ 代表 ~/Projects/Jedicogy/module/jedi-python-package/<套件>/。

名詞:資源庫=合規資源庫(compliance.module_frames),顧問做的範本,一本資源庫只給一個專案用(FR-139 起);AO=評估目標,每條控制項底下的檢查項目;流程圖=每條 AO 配一張 BPMN 圖(workflow_templates),圖上一個方塊(userTask)就是一個任務;任務=compliance.job_executions 一列,專案啟動時從流程圖長出來,有 name/description/guide 三欄;輪次=專案的第 1 輪與各覆核輪,每輪自己一批任務。

§1

變更紀錄

日期 變更 對應
2026-10-17 初稿:需求白話、三點裁示、現況盤點、方案、D1~D5、拆卡草案;雛形兩頁與範例 Excel —
2026-10-17 決策者審雛形 v3 後:版型改判——現行頁把一條控制項全部 AO 直向堆、AO 一多會爆,改比照稽核計畫頁左樹到 AO、右欄一次一條(D7,見 design.md);雛形 v4 D7
2026-10-17 決策者審雛形後:新增 D6(資源庫頁流程編輯器入口收掉,顧問不改流程),D5 撤銷(PM 在專案改方塊名是現況、與本案無關);D1~D4、D6 全照建議裁定;棒 2 範圍縮為「三欄帶進任務+覆核輪抄三欄」,不改多節點 D6

§2

分工概述(30 秒版)

整案一句話:資源庫頁每條 AO 底下列出任務,顧問替每個任務填名稱、描述、指南;啟動前每條 AO 固定一個預設任務、三欄存在範本流程圖的方塊上,顧問不改流程;啟動後直接寫專案任務、PM 改過流程就看到多個;一份 Excel 一列一任務、AO 欄合併,資源庫與專案兩邊共用。

棒 做什麼 產出 完成怎麼判定(決策者親手做什麼、看到什麼)
1 雛形 純前端假資料刻資源庫 AO 底下的任務說明段、匯出匯入對話框、Excel 長相,加一份範例 Excel prototype/ 兩頁+sample/*.xlsx 開雛形索引,切「尚未啟動/已啟動」各看一次,改三格存檔,走一次匯入預覽;用 Excel 開範例檔看合併儲存格
2 啟動與覆核輪帶三欄 任務產生時三欄從範本方塊帶進任務(名稱不再寫死「收證據」);覆核輪從上一輪任務抄三欄 BE 任務產生服務與覆核輪服務改動 DEV 用一本填過三欄的資源庫啟動專案,規劃頁任務三欄就是資源庫填的;啟動覆核輪,新輪任務三欄跟上一輪一樣
3 資源庫頁任務說明 讀寫端點(啟動前讀圖、啟動後讀任務)、方塊屬性讀寫、資源庫頁新子元件、收掉資源庫頁流程編輯器入口(D6) BE 新 service+route;FE 新元件掛進資源庫頁、拿掉一顆鈕 DEV 開一本沒啟動的資源庫,AO 底下看到一個任務、填三格存檔重整還在;用它啟動專案,規劃頁任務三欄就是剛填的;回資源庫頁看到的變成專案任務
4 Excel 兩邊共用 新匯出格式(AO 合併、加描述指南兩欄);資源庫端匯出匯入;專案端既有匯入收兩欄 BE 匯出匯入服務;FE 兩顆鈕與預覽 資源庫匯出開 Excel 看到一條 AO 三列合併;改兩格匯回預覽只標那兩格、確認後畫面更新;專案規劃頁匯出同樣長相

依賴:1 審過 → design.md 開 2、3、4 的卡 → 2、3、4 三棒碰的檔不同可平行;3 的「寫圖」與 2 的「讀圖帶三欄」要用同一支方塊屬性 helper,先由 2 建好。不動 jedi 套件、不開新表、不套 migration。

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#E2F0F1','primaryTextColor':'#14201F','primaryBorderColor':'#0E7C86','secondaryColor':'#EEF2F3','secondaryTextColor':'#14201F','tertiaryColor':'#FBFCFC','tertiaryTextColor':'#14201F','lineColor':'#4A5A5C','textColor':'#14201F','mainBkg':'#E2F0F1','nodeBorder':'#0E7C86','nodeTextColor':'#14201F','edgeLabelBackground':'#FBFCFC','titleColor':'#14201F','clusterBkg':'#FBFCFC','clusterBorder':'#E4EAEB','actorBkg':'#E2F0F1','actorTextColor':'#14201F','actorBorder':'#0E7C86','actorLineColor':'#C7D1D2','signalColor':'#4A5A5C','signalTextColor':'#14201F','labelBoxBkgColor':'#EEF2F3','labelBoxBorderColor':'#C7D1D2','labelTextColor':'#14201F','loopTextColor':'#14201F','noteBkgColor':'#F6EBD5','noteTextColor':'#14201F','noteBorderColor':'#9C6B12','activationBkgColor':'#EEF2F3','activationBorderColor':'#C7D1D2','sequenceNumberColor':'#FFFFFF'}}}%%
flowchart LR
    P[棒 1 雛形] --> R{決策者審+裁 D1~D5}
    R --> D[design.md<br/>開 2、3、4 的卡]
    D --> B2[棒 2 啟動與覆核輪<br/>三欄帶進任務]
    D --> B3[棒 3 資源庫頁任務說明<br/>讀圖/讀任務、收流程入口]
    D --> B4[棒 4 Excel 兩邊共用<br/>AO 合併、加兩欄]
    B2 -.方塊屬性 helper.-> B3
圖 1 — 四棒依賴

§3

需求

決策者原話(2026-10-17)

  • 要能讓顧問在合規資源庫這邊直接編輯任務的任務名稱、描述、指南。之前討論過但還沒做,卡在資源庫階段是沒有任務的。
  • 任務會被 PM 異動流程。原本預設一個 AO 對一個任務;PM 啟動專案後改流程,例如變成「證據上傳 → 主管審核 → 顧問審核」,一個 AO 就三個任務。
  • 情境:顧問先跟 PM 討論出基本版,公司內部定義了專案任務執行流程後,AO 逐一設定任務流程、產出不同任務;這時顧問在資源庫也要能對每個任務下名稱、描述、指南,讓使用者參考要怎麼做。
  • Excel 要可以一 AO 對多行任務,參考改善計畫那邊前面合併儲存格的方式;每次匯出都要依照當時的現況。

裁示(2026-10-17,首腦複述後決策者點頭)

  1. 資源庫頁啟動後看專案現況任務,不是永遠只看範本圖。
  2. 顧問在資源庫頁只改三欄文字;流程本身由 PM 在專案規劃頁處理,或線下討論後由系統設定。
  3. Excel 一份格式兩邊共用:專案規劃頁既有的任務配置匯出留著,資源庫頁新加同樣格式的匯出匯入,只差識別欄。
  4. 顧問不改流程(審雛形後追加):資源庫階段每條 AO 固定一個範本預設任務,顧問只填那個任務的三欄;資源庫頁的流程編輯器入口收掉。決策者原話「我現在不想讓顧問有這麼大權限」。流程一律啟動後由 PM 在專案規劃頁改。

新畫面長什麼樣(對照雛形畫面 1、2)

  • 資源庫「控制項與評估目標」頁,每條 AO 展開後在既有欄位(實作狀態、缺失、建議附件、參考程序書)之後多一段「任務說明」:啟動前固定一張小卡(範本預設任務):名稱一行、描述與指南各一格。已啟動時列專案現況任務,PM 改過流程就多張小卡,右上角多任務狀態與指派人(唯讀),上方一條小流程帶顯示先後。
  • 每條 AO 右邊既有的「流程編輯器」按鈕拿掉(D6)。
  • 頁首多「匯出任務說明」「匯入任務說明」兩顆鈕;匯入有預覽,只標出有變更的格。
  • 左樹每條控制項右邊顯示「已填說明/任務數」。

§4

現況盤點:接入點 × 現況 × 本案動作

① 任務怎麼長出來

接入點 現況 本案動作
建資源庫初始化 AO 流程圖 app/oscal/service/resource_library_app_service.py:_init_ao_workflows()(L269) 每條 AO 用 Camunda7BpmnGenerator 產一張圖,只有一個方塊「Evidence upload」,圖的 uid 寫進 catalog_control_parts.props 的 workflow-template-uid。DEV 有 67,079 條 AO 帶這個 不動。預設那個方塊就是「範本預設任務」,三欄留空待顧問填
專案啟動長任務 app/flow_control/service/prep_job_generation_service.py:generate()(L122) 每條 AO clone 一份圖,只解析第一個 userTask(_first_user_task_id L103,註解自承「其餘靜默漏建」),任務名稱寫死「控制碼 / AO 收證據」,描述指南不帶 名稱改從方塊取、描述指南從方塊屬性帶(棒 2);仍只認第一個方塊——D6 後資源庫圖永遠一個方塊,多節點留給未來真實需求
覆核輪長任務 同一支,reclone_from_props=True 從上一輪的圖再 clone,同樣只配第一個方塊、名稱寫死 從上一輪任務列抄三欄(棒 2)
覆核輪承襲 app/flow_control/service/reverify_inheritance_service.py:inherit_from_parent()(L40) 抄指派、部門、設備、證據、問卷,不抄三欄;新舊任務配對查詢 get_job_pairs 已有 配對結果多抄三欄(棒 2)
編輯器存檔長任務 app/flow_control/service/workflow_xml_sync_service.py:sync()(L64) 三向比對:圖上沒編號的方塊建新任務、沒在圖上的任務刪掉。資源庫頁的流程編輯器存檔時查不到流程實例,回 None 只存圖 資源庫頁入口收掉後顧問碰不到這條(D6);服務本身不動
套用到其他任務 app/flow_control/service/flow_apply_to_tasks_service.py(FR-139 T-17) 以來源圖為底換到其他 AO,走同一支三向比對 不動。它換圖不動任務層欄位,三欄留在目標任務上

DEV 資料:有任務的 AO 59,942 條是一個任務、80 條是多任務(最多 3 個);65,037 筆任務只有 9 筆填了指南、11 筆填了描述。

② 三欄位在哪

接入點 現況 本案動作
任務表 pkg/jedi-flow-engine/jedi_flow_engine/infra/models/job_execution.py name(L29)、description(L30)、guide(L34)本來就有 不動
專案規劃頁改三欄 app/flow_control/service/job_service.py:update_job()(L331) 收 name/description/guide,守 project manager 不動;資源庫頁啟動後寫三欄另開一支只開三欄、守資源庫編輯權(棒 3)
FE 任務表單 src/components/grc/planning/AoTaskForm.vue(L395~420) 三格已存在 資源庫頁新元件照這三格的樣子刻(棒 3)
流程圖節點 方塊只有名稱;任務編號是用 camunda 屬性 job_execution_uid 掛在方塊上(BpmnUtils.inject_job_execution_uid) 描述、指南用同一招掛成兩個 camunda 屬性(棒 3;D1)

③ 資源庫頁與專案的關係

接入點 現況 本案動作
一對一 app/project/service/project_start_app_service.py:_assert_never_bound()(L165)、infra/readmodel/oscal/resource_library_binding_query.py FR-139 起一本資源庫終身只給一個專案;ever_bound/has_live_project 已有 棒 3 用它判「讀圖還是讀任務」
資源庫寫入守門 domain/module_frame/service/module_frame_domain_service.py:verify_module_frame_exists_by_uid(writable=True)(L79)、assert_template_not_audit_locked(L98) 寫 oscal.* 都走它;稽核中鎖寫 三欄讀寫端點照走(棒 3)
複製資源庫 app/module_frame/service/resource_library_copy_service.py:_copy_ao_workflows()(L102) 連 AO 流程圖一起 clone 不動。三欄在圖上,複製免費帶走
FE 資源庫頁 src/views/module_frame/ModuleFrameTemplateEditView.vue 1,954 行,已超標;AO 展開區在 L1496~ 新區塊一律新開子元件,原檔只加一行掛載(棒 3)

④ Excel

接入點 現況 本案動作
專案任務配置匯出匯入 app/flow_control/service/job_import_service.py(546 行) 十欄:job_uid(隱藏)、群組、識別碼、控制項名稱、AO、任務名稱、類型、指派、部門、設備;一任務一列、AO 欄重複印不合併;匯入只寫類型、指派、部門、設備 匯出加描述、指南兩欄+AO 合併;匯入多收三欄文字(棒 4)
匯出查詢 infra/readmodel/tasks/job_export_query.py:get_export_data()(L85) 按輪次撈 wecm × 任務,已回 job_name,沒回 description/guide 加兩欄(棒 4)
改善計畫匯出 app/flow_control/service/poam_workbook_export.py:_plan_sheet()(L131~205) AO 多列、前幾欄 merge_cells、列高平分、灰底唯讀黃底可改 合併與著色寫法直接借(棒 4)
資源庫端匯出匯入 沒有 新增;啟動前讀圖、啟動後走專案那套(棒 4)

§5

方案:任務資訊放流程圖,啟動時整張圖長任務

資料落點(一句話)

啟動前每條 AO 固定一個範本預設任務,三欄住在那張流程圖的方塊上(名稱=方塊名稱,描述與指南=方塊的兩個 camunda 屬性);啟動後三欄住在專案任務列上,與規劃頁同一份。沒有第三個地方。

端到端

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#E2F0F1','primaryTextColor':'#14201F','primaryBorderColor':'#0E7C86','secondaryColor':'#EEF2F3','secondaryTextColor':'#14201F','tertiaryColor':'#FBFCFC','tertiaryTextColor':'#14201F','lineColor':'#4A5A5C','textColor':'#14201F','mainBkg':'#E2F0F1','nodeBorder':'#0E7C86','nodeTextColor':'#14201F','edgeLabelBackground':'#FBFCFC','titleColor':'#14201F','clusterBkg':'#FBFCFC','clusterBorder':'#E4EAEB','actorBkg':'#E2F0F1','actorTextColor':'#14201F','actorBorder':'#0E7C86','actorLineColor':'#C7D1D2','signalColor':'#4A5A5C','signalTextColor':'#14201F','labelBoxBkgColor':'#EEF2F3','labelBoxBorderColor':'#C7D1D2','labelTextColor':'#14201F','loopTextColor':'#14201F','noteBkgColor':'#F6EBD5','noteTextColor':'#14201F','noteBorderColor':'#9C6B12','activationBkgColor':'#EEF2F3','activationBorderColor':'#C7D1D2','sequenceNumberColor':'#FFFFFF'}}}%%
flowchart TB
    subgraph 啟動前
      L[資源庫頁 AO 任務說明<br/>顧問填三欄] -->|寫方塊名稱+兩個屬性| G[AO 流程圖<br/>workflow_templates.xml]
      X1[資源庫 Excel 匯入] --> G
      G --> X2[資源庫 Excel 匯出]
    end
    G -->|專案啟動:每個方塊各建一筆<br/>三欄帶進任務列| J[專案任務<br/>job_executions]
    subgraph 啟動後
      J --> L2[資源庫頁 AO 任務說明<br/>改三欄直接寫任務]
      J --> P[專案規劃頁任務表單<br/>PM 改流程、改全部欄位]
      J --> X3[專案與資源庫 Excel<br/>同一份格式]
      J -->|覆核輪:新舊任務配對抄三欄| J2[覆核輪任務]
    end
圖 2 — 三欄從資源庫到任務的流向

讀寫規則

  • 資源庫頁讀:資源庫沒綁過專案 → 解析每條 AO 的圖取那一個方塊,三欄從方塊取(圖上若有多個方塊只列第一個,與啟動行為一致);綁了專案 → 讀該專案目前輪次的任務列(wecm 按 round_id,與任務配置匯出同一條查法)。回傳形狀一樣,前端不分。
  • 資源庫頁寫:啟動前改圖(只改方塊名稱與兩個屬性,不動線、不增刪方塊;走倉儲雙寫主表與翻譯列,與任務產生那支同一個坑);啟動後走一支只開三欄的更新,守「資源庫可寫」與稽核鎖,不要求專案 manager。
  • 啟動:任務產生維持只認第一個方塊,但 name/description/guide 改從方塊帶(名稱沒填時退回現在的「控制碼 / AO 收證據」)。
  • 覆核輪:三欄改從上一輪配對到的任務列抄,不再寫死「收證據」。
  • Excel:匯出讀當下來源(圖或任務列),一列一任務、AO 前幾欄合併、順序欄、三欄黃底;匯入只寫三欄,識別欄啟動前「AO 編號|方塊編號」、啟動後任務編號;專案規劃頁既有匯出匯入加同兩欄、改合併。

不做

  • 任務不進資源庫版本(FR-139 收口已裁)。
  • 顧問在資源庫頁不改流程、不增刪任務、不改指派與期限;資源庫頁流程編輯器入口收掉(D6)。
  • PM 在專案規劃頁改方塊名稱與任務列名稱的關係維持現況(兩邊各自、不同步),與本案無關(原 D5,撤銷)。
  • 啟動時「整張圖每個方塊都長任務」不做:D6 後資源庫圖永遠一個方塊,現況「只認第一個」就夠;資源庫編輯器既有的多方塊圖(若有)啟動行為不變。
  • 既有「一資源庫多專案」舊資料:資源庫頁遇到多個專案退回只讀圖、三欄可填但只影響未來(實際上 FR-139 後不會再有新的)。
  • 任務型別、週期、工具參數不進 Excel 三欄之外的範圍。

§6

已裁 D1~D4、D6

2026-10-17 決策者審雛形後全照建議裁定;D5 撤銷。

D1 啟動前三欄存哪裡:流程圖方塊上(建議)vs 另開一張表

  • 甲:存流程圖方塊上。名稱就是方塊名稱,描述與指南掛成方塊的兩個 camunda 屬性,跟現在掛任務編號同一招。資源庫的流程編輯器改方塊名稱、增刪方塊,任務說明自動跟著;複製資源庫免費帶走;不開新表、不套 migration。
  • 乙:另開一張「AO 任務說明」表,以 AO 編號+方塊編號當鍵。查詢直接 SQL 不用解析 XML,但顧問在編輯器刪了方塊、表上那列還在,要另寫清理;複製資源庫要多抄一張表;要 migration 與 RLS。

裁定:甲。乙的「兩份真相」正是 FR-139 一路在收斂的病;解析 XML 的成本已有 BpmnUtils 承擔,資源庫頁一次只開一條控制項,量不大。

D2 啟動後顧問在資源庫頁改三欄,寫入守門用哪一把

  • 甲:資源庫編輯權(oscal.resource-library.update + writable=True 歸屬守門 + 稽核鎖),不要求是專案 manager。
  • 乙:要求同時是該專案 manager,等於把資源庫頁當專案規劃頁的捷徑。

裁定:甲。決策者裁示第 2 點是「流程權限給 PM、顧問只改三欄文字」,顧問通常不是專案成員;三欄是說明文字不是稽核範圍,風險低。端點只開這三欄,其他欄位仍走專案規劃頁。

D3 資源庫頁啟動後讀哪一輪的任務

  • 甲:目前輪次(最新一輪)。覆核輪一啟動,資源庫頁看到的就是新輪任務。
  • 乙:第 1 輪固定。

裁定:甲,與任務配置匯出、規劃頁同一條「目前輪次」查法。覆核輪從上一輪抄三欄後(棒 2),顧問接著改的是新輪,舊輪任務已進稽核不該再動。

D4 Excel 匯入是否允許「對不到」的列報錯整份退回

  • 甲:對不到的列跳過、其餘照寫,預覽列出跳過幾列(與既有任務配置匯入一致)。
  • 乙:有一列對不到整份退回。

裁定:甲,兩邊匯入行為一致,顧問匯入時任務數常已被 PM 改過,整份退回會讓檔案永遠匯不進去。

D6 資源庫頁的流程編輯器入口收掉,顧問不改流程

每條 AO 右邊「流程編輯器」按鈕拿掉。資源庫階段每條 AO 固定一個範本預設任務,顧問只填它的三欄;流程一律啟動後由 PM 在專案規劃頁改。

為什麼:決策者 2026-10-17 審雛形後裁「不想讓顧問有這麼大權限」。附帶效益:現況那顆按鈕設了也白設(啟動只認第一個方塊,其餘靜默消失);拿掉後資源庫階段永遠一 AO 一任務,畫面、Excel、啟動邏輯都不必處理多方塊,棒 2 範圍縮一半。

被排除:留著按鈕並把啟動改成整張圖都長任務——權限方向與決策者相反,且要動啟動與覆核輪共用的核心。


§7

拆卡草案

design.md 定案後一次建完。三棒可平行;棒 2 先建方塊屬性 helper 給棒 3 共用。

棒 卡 做什麼 碰哪裡 依賴 驗收
1 雛形 兩頁雛形+範例 Excel prototype/ — 決策者點過
2 2a 任務產生三欄從方塊帶(名稱沒填退回現在的「收證據」);方塊屬性讀寫 helper 新檔 prep_job_generation_service.py(282 行,只改 label 與三欄來源)、task_node_props.py 新檔 design DEV 用填過三欄的資源庫啟動專案,規劃頁任務三欄=資源庫填的;沒填的資源庫啟動行為不變
2 2b 覆核輪承襲三欄 reverify_inheritance_service.py、配對查詢 2a 啟動覆核輪,新輪任務三欄=上一輪
3 3a 資源庫 AO 任務說明讀寫端點:綁定判斷、讀圖/讀任務、寫圖(雙寫)/寫任務三欄;守門走資源庫編輯權+稽核鎖 新 app/module_frame/service/ao_task_guidance_service.py、route、readmodel 2a 的 helper API 啟動前後各讀寫一次一致
3 3b 資源庫頁「任務說明」子元件(任務小卡三格;已啟動多卡帶流程帶)、左樹計數、兩顆鈕殼、拿掉 AO 的流程編輯器按鈕(D6) FE 新元件,ModuleFrameTemplateEditView.vue 只加掛載與刪一顆鈕 3a 照雛形畫面 1 操作一遍;AO 右邊沒有流程編輯器鈕
4 4a 任務說明 Excel 匯出(AO 合併、順序、三欄黃底、填寫說明頁)與匯入 parse/confirm,資源庫與專案共用一支 builder 新 task_guidance_workbook.py(借 poam_workbook_export.py 合併寫法)、job_export_query.py 加兩欄 3a 資源庫匯出開檔看合併;改兩格匯回預覽與確認
4 4b 專案規劃頁既有任務配置匯出匯入改合併+收描述指南兩欄 job_import_service.py(546 行,加欄要注意不往裡塞) 4a 專案匯出同長相;匯回三欄寫進任務
4 4c FE:資源庫頁匯出匯入對話框與預覽(只標變更格) FE 3b、4a 照雛形匯入預覽

§8

坑與陷阱總表

坑 在哪 怎麼避
圖的 XML 是可翻譯欄位,只寫主表編輯器看不到 prep_job_generation_service.py L262 註解、_job_repo.write_template_xml 寫圖一律走倉儲雙寫
資源庫頁寫方塊屬性時不可動到 job_execution_uid 或方塊 id workflow_xml_sync_service.py L94 三向比對 helper 只改 name 與兩個自家屬性,其他原樣保留;清屬性清到空就整段拿掉
資源庫頁走「資源庫入口」才會觸發資源庫側行為 FR-139 T-24 教訓 驗收用資源庫頁的端點,不拿專案端點頂
ModuleFrameTemplateEditView.vue 超標 1,954 行 新區塊必開子元件,原檔只加一行
空的 <camunda:properties/> 會讓解析炸 flow_apply_to_tasks_service.py:_strip_uid 註解 清屬性清到空就把整段拿掉
改 service 後共用 BE 跑舊程式 2026-10-15 教訓 驗收前先重啟