# FR-161 事前資料區 — STATE

> 只描述此刻。沿革見 `fr161-LOG.md` 與 git log。

## 現在在哪

設計定案、已開卡、還沒派。決策者在 Claude 工作坊選母卡 CM-3040 開工作坊就能開始。

## 卡片與批次

同一批可以同時開工，有先後的放下一批。各卡的 Stage 欄位是準的，卡片內文寫的批次已經過時。

| 批 | 卡 | 做什麼 | 為什麼在這批 | 狀態 |
|---|---|---|---|---|
| 1 | CM-3041 | 資料表、大類起始值、權限與選單、大類 API | 地基 | 驗收通過待確認 |
| 2 | CM-3042 | 事前資料後端 | 要用卡 1 的表 | 驗收通過待確認 |
| 3 | CM-3044 | 事前資料頁＋系統設定大類頁 FE | 只依賴卡 2；只改 FE | 驗收通過待確認 |
| 3 | CM-3043 | 程序書池承接：jedi-compliance-audit 加三欄、同步、這框架不用、刪除守門 | 只依賴卡 2；改套件與 BE，和卡 4 沒有改到同一個檔 | 驗收通過待確認 |
| 4 | CM-3045 | 程序書池 tab 改版 FE | 要用卡 3 的欄位與 API | 驗收通過待確認 |
| 4 | CM-3047 | 既有缺口：FR-139 D19 稽核中鎖資源庫 | 和卡 3 都改 `common/authz/ssp.py` | 驗收通過待確認 |
| 4 | CM-3048 | 既有缺口：OSCAL back-matter 為空（先盤點、等決策者選方向） | 第一步只盤點，不改碼 | 驗收通過待確認 |
| 5 | CM-3046 | 網路架構圖勾選匯出 | 和卡 5 都改 `DocumentPoolPanel.vue` | 驗收通過待確認 |
| — | CM-3049 | SSP 匯出加 OSCAL JSON（CM-3048 衍生） | — | 驗收通過待確認 |
| 6 | CM-3050 | **程序書池改成挑選引用**（D6／D9 改判）＋同名比對放寬 | 改 CM-3043／3045 做出來的同步與畫面 | 驗收通過待確認 |

## 環境現況（2026-10-23 首腦驗收後）

- 主專案 `pyproject.toml` 的 jedi-compliance-audit 已切成 path dependency，指向套件原始碼（**沒有 commit**）。這是因為 Nexus 1.4.0 沒有 CM-3043 加的三欄。**發 1.5.0 之後要把 pin 改回來**。
- 8000 已在 CM-3050 合回後重啟（2026-10-24），跑的是新程式。
- DEV 租戶 102 有 13 份宏碩精密的範例事前準備資料。只有資源庫 481（CMMC L1）引用 10 份，其他資源庫都是 0。
- 同名比對已放寬（CM-3050），有 40 條 unit test。

## 驗收時要特別看

- **CM-3050**：客戶上傳後，資源庫不會多出列；選用、移出都只影響當下那個資源庫；刪 DEV 資料前有沒有先 SELECT 筆數並回寫；492（專案 1619）是不是只剩顧問原本的 9 份。

- **CM-3041**：新表 `org_unit_id` 在 CREATE TABLE 裡；回寫有沒有提「出貨基線待重產」；受稽方拿到 upload 能力點的 SQL 是怎麼決定角色的。
- **CM-3043**：path dependency 沒 commit；套件改動另 commit 在 jedi-python-package；四條複製路徑（送審凍結、存版、還原、複製資源庫）實際跑過三欄都在；可寫判斷是從 `_guard_template_write` 抽出來的，不是另寫。
- **CM-3044／3045**：`grep -rn border-left` 空；沒有自訂字級與紙面版面；頁首只有大標＋公司。
- **CM-3047**：「還原舊版本算不算寫」要先回寫問決策者，runner 不該自己決定。

## 待決策者的事

- 發 jedi-compliance-audit 1.5.0、還原 pin：決策者已同意，等首腦執行。1.5.0 只包 CM-3043 的三欄（`6f26a58d`）；推 Nexus 前會再確認版號。
- CM-3048 盤點完選方向（首腦傾向「匯出時由主專案把程序書池轉成 resources 傳給套件」）。
- 卡 1 的 migration 進 manifest 後，出貨基線要重產。

## 座標

- 母卡：https://app.notion.com/p/FR-161-402346da4cd081059230c2bd9e7042a3
- 設計：`design.md`；討論稿：`discussion.md`；雛形：`prototype/index.html`
- 卡片 spec：`handoff/gen_notion_cards.py` → `notion-cards.json` → `notion-cards-made.json`
- branch：BE、FE、jedi-python-package 皆 `feature/FR-139`
