本卡屬 FR-143,第 5 棒:修現行退卡只重開最新一站的問題(D10/D12)。依賴第 1 棒的 task 形狀。

問題是什麼(白話)

一個任務是一條流程,可能有好幾站(證據上傳 → 主管檢核 → 顧問檢核)。現在內稽退卡只把「最新那一站」改回進行中:三站都做完時重開的是顧問檢核,負責補證據的人打開看到自己那站已完成、不能改,顧問被叫去檢核還沒補的證據。DEV 現有 6 筆退卡紀錄全是單站流程,所以沒被測出來。決策者裁:每個任務退回第一站整條重跑;PM 設的到期日寫進該任務每一站;指派人改成執行人員。

首腦核對:

在哪裡

app/flow_control/service/not_met_job_redo_service.py:48   redo_not_met_jobs(讀 earliest_milestone_dates/milestones_by_control → 第 1 棒改回逐 task)
app/flow_control/service/not_met_job_redo_service.py:103  _redo_one(pick_latest 只重開最新站)
app/flow_engine/service/job_reopen.py                      reopen_job_execution(單站重開,可沿用)
app/flow_engine/service/workflow_execution_service.py:787  revert_job(參考後續站改 TODO 的寫法,不直接呼叫)
app/flow_control/service/job_due_date_service.py           due_at_from_milestone_date(台北 23:59:59)
app/flow_control/service/not_met_redo_comment.py           build_redo_comment(系統留言)
pkg/jedi-compliance-audit/.../audit_round_app_service.py:543  launch_reverify(覆核輪產新任務;918 行超標)
app/flow_control/service/reverify_inheritance_service.py   覆核輪承襲指派人(clone_assignees)
compliance.task_assignees                                   指派人(多人;保留 is_approver)

怎麼修

先查再寫:後續站改 TODO 的寫法 revert_job:842-860 可抄;指派人改寫 job_import_service 已有;留言 build_redo_comment 已有;不新增表。

要寫測試

手測