本卡屬 FR-092(母卡 CM-1703),第 6 棒盤點(CM-1709)C 類產出。動 jedi 套件的 pyproject,決策者 2026-09-12 已點頭;不發版不推 Nexus。
七支 jedi 套件的原始碼 import 了某些第三方套件,但自己的 pyproject 沒宣告,現在能跑純粹是主專案剛好也宣告了同一支。套件一旦被第二個產品拿去用、或主專案哪天拔掉那支宣告,套件就炸。FR-069 D9 抓過「虛掛依賴」(宣告了沒用),這是另一面「用了沒宣告」。
優先(不是靠 Flask 必然帶進來的):
jedi-integrity sqlalchemy infra/tamper_event_repo.py:25
jedi-detection dependency-injector api/routes/detection_profile_route.py:17(+1 檔)
jedi-detection flask-babel app/service/detection_orchestration_service.py(+1 檔)
jedi-compliance-audit rapidfuzz app/service/ar_import/evidence_matcher.py
次要(werkzeug,Flask 硬相依,仍建議顯式化):
jedi-detection/jedi-compliance-audit/jedi-common/jedi-iam/jedi-issue/jedi-survey
不補:jedi-detection profiles/tools/twgcb2inspec.py 的 python-docx(工具腳本非執行期,改為在該檔頭註明需另裝)
.venv*/site-packages,第 6 棒第一輪就是被 vendored 目錄騙出 20 條)。pyproject.toml 的 dependencies 補一行,版本區間對齊主專案現行宣告或同 monorepo 其他套件已用的區間(sqlalchemy 對齊 jedi-common、dependency-injector 對齊主專案 ==4.48.1 放寬為 >=4.48,<5、rapidfuzz >=3.14,<4、flask-babel >=4.0,<5、werkzeug >=3.1,<4)。poetry lock/poetry install 於套件目錄內確認解析得開;主專案 poetry update 一次確認整體無衝突。--smoke。不寫。各套件自帶測試跑一次;主專案守衛三檔綠。
feature/FR-075(開工前查)。