---
title: FR-069 第四階段發版清單（定案，CM-1499 執行）
---

# 第四階段發版清單（定案）

> 2026-09-01 首腦盤點；同日 user 六連裁後定案，執行卡＝**CM-1499**（含前置退役清理）。
> 已裁定：三包名終版（task-platform／compliance-audit／flow-engine 不動）；task-platform **0.1.0**；
> 發版前清 jedi-flow-engine 死碼（hi_*＋command_log）再發 0.0.36；主專案殭屍 OscalAuditService 併前置清理。
> 「三個結」現況：①依賴環——CM-1493 已斷根 task-platform→survey/device（發前仍畫圖確認）；②③已裁如上。

## 一、要發的套件（自 CM-1473 後動過的）

依賴順序排（被依賴的先發）：

| 順序 | 套件 | 現版 | 建議發 | 為什麼要發 | 依賴誰（jedi-*） |
|---|---|---|---|---|---|
| 1 | jedi-flow-engine | 0.0.35 | **0.0.36** | BPMN generator＋topology validator 歸建（CM-1492）；補 defusedxml 宣告 | common |
| 2 | jedi-participant | **0.0.1（首發）** | 0.0.1 | P12 新抽（CM-1477） | common / iam / flow-engine / task-platform⚠️ |
| 3 | jedi-survey | 0.0.32 | **0.1.0** | P11 合併 task_survey 作答層（CM-1482）——結構大改建議 minor | common / iam / participant / flow-engine / device |
| 4 | jedi-task-platform | 0.0.9（沿 jedi-project 版號） | **0.1.0** | 改名＋吸收任務層＋申報制插槽——**新 dist 名首發**，建議直接 0.1.0 起跳與舊 jedi-project 0.0.9 區隔 | common / iam / survey / device |
| 5 | jedi-evidence-classification | **0.0.1（首發）** | 0.0.1 | P10 新抽（CM-1481） | common |
| 6 | jedi-detection | **0.0.1（首發）** | 0.0.1 | P9 新抽（CM-1489） | common / remote-agent / flow-engine / file-upload / iam |
| 7 | jedi-compliance-audit | **0.0.1（首發）** | 0.0.1 | flow_control 分家稽核半（CM-1487/1488/1490/1492） | common / iam / flow-engine / task-platform / participant / survey / oscal-v2 / device |

不用發：jedi-common 0.0.33（沒動）、jedi-iam 0.1.0（沒動）。

## 二、⚠️ 發版前必先解的三個結

1. **循環依賴要拆或確認**：task-platform 依賴 survey／device（pyproject 註解自承「方向是反的」），
   而 survey 又依賴 task-platform 的世界（participant→task-platform）。若 poetry 解析成環會裝不了。
   **發版棒開工第一件事：畫一次真實依賴圖確認無環**；有環就得先把 task-platform 對 survey/device
   的依賴收 port（本來就是欠的債）。
2. **三包名字最後確認**（user 註「可能再調」）：task-platform／compliance-audit 一上 Nexus，
   改名成本從「mv＋改 import」變成「發轉發殼＋退役流程」。**發版前是最後免費窗口**。
3. **task-platform 版號起點**：沿用 0.0.9→0.0.10 或新名首發 0.1.0，一句話裁定即可（草稿建議 0.1.0）。

## 三、主專案 pin 還原（發版同批）

發完後把 pyproject.toml 的 path override 還原成 pin（行號現況見 pyproject.toml 165–178）：

- jedi-participant → `==0.0.1`
- jedi-survey → `==0.1.0`（新增 pin——原本走 Nexus 0.0.32，這次併入後必須 pin 新版）
- jedi-task-platform → `==0.1.0`（原 jedi-project pin 已由改名棒移除）
- jedi-evidence-classification → `==0.0.1`
- jedi-detection → `==0.0.1`
- jedi-compliance-audit → `==0.0.1`
- jedi-flow-engine → `==0.0.36`

然後 `poetry update`（禁 poetry lock）→ symlink 驗證（site-packages 無殘留 .pth 指本地）→
煙測（守衛＋重啟 8000＋實打一支 API＋log 無 ERROR）→ commit（只收 pyproject.toml＋poetry.lock）。

## 四、pyproject 歷史託付帳（發版棒一併清）

STATE 記的三批 working tree 帳，實查 2026-09-01 現況：**大部分已由 CM-1473 收掉**，
現在 `git diff pyproject.toml` 只剩一行未收——CM-1482 的 jedi-survey path override
（照規矩開發期不 commit，發版時隨 pin 還原自然消掉）。無其他欠帳。

## 五、發版後續動作（同棒或緊接）

- Notion 各卡補發版紀錄
- STATE「現況清單」版號表更新
- 架構手冊 modularization-roadmap 族譜節：進行中段搬「已完成」（收官棒待辦 #2）
- 出貨基線 `scripts/init/02-schema.sql` regenerate（CM-1474 遺留註記——project_extensions
  已 drop 但基線 SQL 未重產，走 `gen_schema_sql.sh`）
