---
title: FR-155 STATE（living，只描述此刻）
---

# FR-155 STATE

> 母卡 [CM-2977](https://app.notion.com/p/FR-155-RBAC-tab-4-11-400346da4cd081c1b7ffce63ec77390d)；子卡 CM-2978～2988。更新：2026-10-22。沿革見 `FR-155-LOG.md` 與 git log。

## §1 現況

- 母卡 CM-2977 與 16 張子卡（CM-2978～2988、CM-3010～3014）決策者 2026-10-22 裁 Done。
- **BE 全部合回 `feature/FR-139`**：前 11 張由 CM-3010 合（`bc92f1b67`），收口五張由首腦合（`74bb09f76`，9 支衝突已解）＋重產產物（`f90e601d2`）。`ws-CM-2977` branch 留著不刪。
- 套件已發 Nexus：jedi-iam 1.7.1（1.7.0 先發、收口審查 I1 再發 1.7.1）、jedi-task-platform 1.4.0、jedi-compliance-audit 1.4.0、jedi-survey 1.3.0；BE pin 已切回 Nexus、path 行已註解回去（`536752fa3`、`2fa3f9467`）。三 repo `feature/FR-139` 已 push。
- DEV DB 已套三支 fr155 migration：`capabilities` 多 15 個 `proj.*`（design 寫 14，T-1.2 加 `proj.round.manage`）；租戶 1、102 各四個範例專案角色、負責人為預設；`project_participants` 19 列全部回填；`stage_objects` 六站預設已是能力點名。
- 出貨基線已重產（CM-3013 ＋ 首腦合回後重產 `f90e601d2`）：02 有 `roles.kind`／五張表 `project_role_id`，04 有 13 顆 `proj.*`＋CM-3006 的 `grc.summary-report.export`，99 蓋 fr155 兩支。

## §2 決策者裁示（2026-10-22，11 項全照首腦建議）

| # | 題目 | 裁示 | 落地卡 |
|---|---|---|---|
| R1 | `proj.stage.advance` | 刪 | T-5.1 |
| R2 | `proj.job.execute` | 刪 | T-5.1 |
| R3 | 流程設計器「主要角色」下拉 | 只列 `proj.review.approve`／`proj.audit.judge`／`proj.stage.advance-any` | T-5.2（FE）＋T-5.1（BE 設計器存檔同清單） |
| R4 | 列表「負責人」欄 | 跟 `is_default_owner` 角色；稽核員欄跟 `proj.audit.judge` 排除預設負責人 | T-5.1 |
| R5 | 流程站沒填主責，進站通知不寄 | 改成與推進判定一致：退回站預設 | T-5.1 |
| R6 | 任務佐證新增／修改／刪除任一參與者都能做 | 改「被指派人 ∪ `proj.job.manage`」 | T-5.1 |
| R7 | 摘要報告還原到某版任一參與者都能做 | 改要 `proj.report.manage` | T-5.1 |
| R8 | 不綁專案的標準答案匯入看「任一專案負責人」 | 改租戶層 `evidence.classification.update` | T-5.1 |
| R9 | 問卷歷史前端對審核者隱藏 | 拿掉前端特例 | T-5.2 |
| R10 | 控制項層單獨降級能力不存在 | 接受；design D5 改寫為「專案層指派；子層表保留欄位但無寫入路徑」 | T-6.2 |
| R11 | zh-cn error-code.json | 不補 | — |

## §2a 小尾巴（併入 T-5.1）
- 套件參與者直連 API `resolve_for_write` 補 `assert_roles_belong_to_tenant`。
- `apply_default_owner` 設預設又停用時改拋 `PreconditionFailedError(GRC_412078)`。

## §3 收口拆卡（第 5 批 T-5.0～5.2、第 6 批 T-6.1～6.2，2026-10-22 建卡，狀態 Not started）

| 編號 | 批 | 做什麼 | 卡號 |
|---|---|---|---|
| T-5.0 | 5 | `ws-CM-2977` 合回 `feature/FR-139`（試算 0 衝突）；四套件 bump（iam 1.7.0／task-platform 1.4.0／compliance-audit 1.4.0／survey 1.3.0，不 publish）；BE pin＋path 開發；DEV 8000 起得來 | [CM-3010](https://app.notion.com/p/FR-155-T-5-0-ws-CM-2977-feature-FR-139-bump-DEV-8000-401346da4cd0817ab812fde033ee12a0) |
| T-5.1 | 5 | BE 裁示落地 R1～R8＋小尾巴 A／B（新增主線 migration 1 支：刪兩能力點） | [CM-3011](https://app.notion.com/p/FR-155-T-5-1-11-401346da4cd0813eb114c3a42c5a2fb6) |
| T-5.2 | 5 | FE：設計器下拉只列三個、問卷歷史特例拿掉、常數檔重產 | [CM-3012](https://app.notion.com/p/FR-155-T-5-2-401346da4cd0814abbb7d5b3c677fcad) |
| T-6.1 | 6 | 出貨基線重產（寫 188 基線庫，決策者已裁） | [CM-3013](https://app.notion.com/p/FR-155-T-6-1-roles-seed-seed-401346da4cd08125bcc5f427163863ac) |
| T-6.2 | 6 | 收口審查、design D5 改寫、SPEC 三頁、手冊、release note 草稿 | [CM-3014](https://app.notion.com/p/FR-155-T-6-2-reviewer-arc-arc-review-D5-SPEC-release-note-401346da4cd0818f9492fba1a2d840ed) |

- 收口審查 §2 九條：I1～I6 已修（`2fa3f9467`＋jedi-iam `e104a8b3`＋FE `1b4c08fb`）；I7、I8 決策者同意不修；I9 隨發版解掉。

**仍待**：決策者本人手測（角色頁兩籤、指派頁下拉不再出現專案角色、參與者下拉、各角色按鈕、流程存檔三情境、專案啟動信角色名）；e2e 到 test repo。

## §4 跨 arc 提醒（請決策者轉達）

- **FR-156**：`manifest.tsv` 三支 fr156 migration 標 `phase=active`，但 188 基線庫未套（實查 `source_scans.agent_uid` 不存在）。`gen_stamp_sql.sh` 只抄 manifest 不查庫，任何人重產 99-stamp 都會把它們蓋成「已收進基線」。首腦這次手動拿掉那三行；FR-156 做基線重產時要先套再產。
- **守衛紅兩條（非 FR-155）**：`test_module_boundaries` 的 `test_package_imports_only_lower_layers`／`test_all_jedi_packages_are_in_plugins_or_exempt`，原因 `jedi_api_log/error_tracking/masking.py:10 → jedi_masking` 未登記 `PACKAGE_LAYERS`。merge 前 `f039b6dd1` 已紅。
- **.venv 與 FR-156 程式脫節**：`core/plugins/detection.py`、`remote_agent.py` 吃未發版的 jedi-detection／jedi-remote-agent 新介面，`.venv` 仍舊 pin，`collect_route_guards.py` 與 BE 啟動都要整個 monorepo 上 PYTHONPATH。

舊清單（供對照）

1. `ws-CM-2977` 合回 `feature/FR-139`（14 commits，no conflict 預期；合前 `git status` 要乾淨）。
2. 四支套件發版＋BE pin bump（jedi-task-platform 的 `ParticipantAdapters` 新增必填參數屬破壞性變更，minor bump）。
3. 出貨基線重產（寫 188 基線庫，決策者裁）。
4. 上版綁定：T-2.2（migration）與 T-3.3（推進判定）必須同版。
5. 收口審查：ddd-compliance-reviewer 掃 arc diff、守衛全跑、arc-review、SPEC 三頁、使用手冊、release note、e2e 到 test repo。
6. 小尾巴：套件參與者直連 API 補 `assert_roles_belong_to_tenant`；`apply_default_owner` 409 帶 412 碼改 `PreconditionFailedError`；zh-cn error-code.json 要不要補。
7. 決策者手測：角色頁兩籤、參與者下拉、各角色按鈕、流程存檔三情境（首腦與小弟皆未實際開畫面，DEV 登入被 Turnstile 擋）。
