# FR-190 開發環境：套件改走本機路徑

主系統與 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） |

## 怎麼驗

```bash
# 主系統（在 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 舊版。

## 陷阱

- 從 BE session 跑別目錄的 poetry 一律 `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）；還原釘版後會一併回來。

## 還原（收尾卡 P3-2 做）

1. 兩個 repo 各 `git update-index --no-assume-unchanged pyproject.toml poetry.lock`
2. `git checkout`以外的方式還原：手動把 pin 行取消註解、path 行改回註解（Agent 刪掉 dev group 那行），pin 版號改成本案發版後的新版號
3. `poetry update jedi-agent-protocol jedi-remote-agent`（Agent 只更新 protocol），再驗 import 路徑已回 site-packages
