本卡屬 FR-090(母卡 CM-1682)第 4 棒。動 common/util/audit_nickname.py、module_frame 三支、flow_engine 一支、SOP。中量驗證。與第 3 棒並行(不重疊)。

問題是什麼(白話)

「把帳號換成暱稱顯示」這件事,主專案有三種做法並存:一支共用 helper(15 個 consumer)、三支跟 helper 逐字相同的手寫複本、一支 DTO 收 map 由 service 算。而 D8 標準件 jedi_common.identity.IdentityContext(2026-08-30 落地,jedi-asset 已用)主專案 app/ 零處使用。共用 helper 本身是 D8 之前的土製版,直接 import jedi-iam 的 UserDomainServiceUserQueryEntity 去查。本卡讓 helper 內部改走 IdentityContext,三支複本與 flow_engine 改呼叫 helper,主專案就只剩一條路。

首腦核對(2026-09-12):

在哪裡

主專案:/Users/chouraymond/Projects/Billows/Audit-Manager/compliance-manager-be/
  common/util/audit_nickname.py                       內部改走 IdentityContext;簽名保留相容
  app/module_frame/service/module_frame_reference_document_service.py:259   _enrich_nicknames 刪,改呼叫 helper
  app/module_frame/service/module_frame_control_default_service.py:242     同上
  app/module_frame/service/module_frame_control_objective_default_service.py:260   同上
  app/flow_engine/dto/flow_template_dto.py:25         user_nickname_map 參數拿掉
  app/flow_engine/service/flow_template_app_service.py:56,64   改呼叫 helper
  di_containers/containers.py 或新建 di_containers/identity_containers.py   一個共用 identity provider
  docs/features/FR-069-2608-jedi-module-extraction/extraction-sop.md §5   統一規則
  docs/claude/domain-capabilities.md                  helper 登記為 canonical

怎麼修(四組,各一 commit)

① 共用 identity provider(主專案 DI)

② helper 內部改走 IdentityContext(保留簽名)

③ 三支複本+flow_engine 改呼叫 helper