本卡屬 FR-188(母卡),實作設計決策 D7 的套件端。嚴重度:中。
用「新增租戶」開客戶時,系統會自動建一個預設部門「System Administrator」,但刻意不建管理員帳號,留給平台管理員事後用「新增使用者」補。新增使用者時部門是選填,沒選的話帳號就只掛租戶、不掛任何部門。之後這個帳號新增設備(以及其他要求部門的資料)時,部門欄位是空的,資料庫權限規則擋下、畫面只看到 500。
首腦核對:雲端 jediadmin(Jedicogy 租戶,id 4)user_org_units 0 筆;Jedicogy 底下有部門 id 3「System Administrator」。Billows 是首次設定精靈建的,管理員有掛部門所以沒事。
/Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:114 add_user
/Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:184 新增 user org_unit 段(三個地雷註解)
/Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/user_service.py:255 _default_scope_for_new_user
/Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/app/service/tenant_provisioning_service.py:60 DEFAULT_ORG_UNIT_NAME
_default_scope_for_new_user:部門的退回順序最後加一層「該租戶的根部門」(租戶底下 parent 為空的那個;若有多個或找不到,維持現狀不掛,並記一筆 warning)。用既有的 org unit domain service 查,不直接寫 SQL。org_units=[] 的語意仍是「不指定任何部門」,不套用預設;None/缺 key 才走預設。改動前把 184 行那段註解逐條對過。org_units=[] → 不掛;有選部門 → 照選的(突變:拿掉根部門退回要紅;把 [] 也套預設要紅)。pyproject.toml 對應那行取消註解、env -u VIRTUAL_ENV poetry update <套件名>),path 改動不 commit(git update-index --assume-unchanged pyproject.toml poetry.lock)。本卡只改套件、不發版;發版與主 repo 改回釘版在結案卡做。🔴 不在卡工作區跑會動到共用 .venv 的指令;需要驗套件新行為時在 scratchpad 開獨立 venv。feature/FR-172,不切 branch;顯式 git add <檔名>、禁 -am;只 add 自己改的檔。commit 不等令,push 由決策者做。修正待驗證。卡住也 commit 已完成部分並回寫卡在哪,狀態維持 In progress。api//app//infra/ 時 .claude/rules/security/ 自動載入,照著做;從 BE 開的 session 跨 repo 改 FE,FE 規則 .claude/rules/security/frontend.md 不會自動載入,動手前自己讀。回寫列出對到哪幾條、怎麼滿足。