主系統與 Agent 開發期都不用 Nexus 版號,改指到套件 repo 的工作區 ~/Projects/Jedicogy/module/jedi-python-package/.worktrees/CM-3765(develop 模式)。 改動不 commit:兩個 repo 的 pyproject.toml、poetry.lock 都設了 assume-unchanged,git status 看不到。
| repo | 檔 | 改動 |
|---|---|---|
| 主系統 | pyproject.toml |
[project] dependencies 的 jedi-remote-agent==…、jedi-agent-protocol==… 兩行註解掉;dev path 區塊 jedi-remote-agent 取消註解並新增 jedi-agent-protocol,都指向工作區 |
| Agent | pyproject.toml |
jedi-agent-protocol==… 註解掉;[tool.poetry.group.dev.dependencies] 加 path 行(放 dev group 才會被 poetry 鎖進去;Agent 不裝 jedi-remote-agent) |
# 主系統(在 BE 工作區)
.venv/bin/python -c 'import jedi_agent_protocol, jedi_remote_agent; print(jedi_agent_protocol.__file__, jedi_remote_agent.__file__)'
# Agent
env -u VIRTUAL_ENV poetry run python -c 'import jedi_agent_protocol; print(jedi_agent_protocol.__file__)'路徑必須在 jedi-python-package/.worktrees/CM-3765/ 底下;落在 site-packages 就是讀到 Nexus 舊版。
env -u VIRTUAL_ENV,否則套件裝進 BE venv。.venv 都連到同一個 compliance-manager-be/.venv,別的工作坊跑 poetry 會蓋掉;開工前先跑上面的 import 驗證指令,路徑不在自己的工作區就重跑 poetry update <兩支>。poetry update 一律指定套件名。這次因 path 依賴,lock 重解時把幾支第三方/jedi 套件版號也回到 pyproject 釘的版(如 jedi-common 1.4.2→1.4.1);還原釘版後會一併回來。git update-index --no-assume-unchanged pyproject.toml poetry.lockgit checkout以外的方式還原:手動把 pin 行取消註解、path 行改回註解(Agent 刪掉 dev group 那行),pin 版號改成本案發版後的新版號poetry update jedi-agent-protocol jedi-remote-agent(Agent 只更新 protocol),再驗 import 路徑已回 site-packages