FR-147 資源庫任務說明 — STATE(只描述此刻,就地更新)

2026-10-17 起的分工:FR-147 首腦(本 session)留任;上面有一位總驗收首腦負責 FR-139~147 全專案功能總測試與統一收尾。總測試抓到 FR-147 的問題 → 派回 FR-147 首腦分析、開修正卡、派 runner、驗收;收口(spec/手冊/arc review/套件發版/push)由總驗收首腦統籌,FR-147 首腦配合提供材料。本檔寫給雙方:進度到哪、驗什麼、發版前還差什麼。

§1

一句話現況

八張實作卡全部 Done、首腦逐張復核過;收口(spec/手冊/arc review/套件發版)一件都沒做,等總驗收後統一收。 無 migration、無新表、出貨基線不必重產。三個 repo 都在 feature/FR-139,都未 push。

§2

這個功能是什麼(給總驗收首腦 30 秒)

顧問在合規資源庫替每條評估目標(AO)的任務先寫好名稱、描述、指南;專案啟動時帶進任務;啟動後資源庫頁直接改專案任務;一份 Excel 一列一任務、AO 欄合併,資源庫頁與專案規劃頁同格式。連帶把資源庫編輯頁版型改成跟稽核計畫頁一樣(左樹到 AO、右欄一次一條)。定案規格在 design.md,D1~D4/D6/D7 全裁(D5 撤銷)。

§3

卡片總表

卡 做什麼 repo 狀態 commit
CM-2864 母卡 — In progress(收口時收 Done) —
CM-2865 2a 方塊屬性 helper+啟動帶三欄 BE ✅ Done 82c8f1336、6efda2c76
CM-2866 2b 覆核輪抄三欄 BE ✅ Done 39fa55821
CM-2867 3a 資源庫 AO 任務說明讀寫 API BE ✅ Done 4cf997791(FE i18n ce2b9b7e)
CM-2872 3c 資源庫編輯頁版型比照稽核計畫頁 FE ✅ Done 3ddc5fa4
CM-2868 3b AO 表單底下任務說明區塊+左樹圓點 FE ✅ Done 8341176c
CM-2869 4a Excel 共用產生器+資源庫端匯出匯入 BE ✅ Done 587bc39e1
CM-2870 4b 專案規劃頁匯出匯入對齊 BE+pkg+FE ✅ Done BE 62d845e1a/FE a424b9c1/jedi-task-platform 040d5d32
CM-2871 4c 資源庫頁匯出匯入對話框 FE ✅ Done 497211fa
§4

總測試要驗什麼(決策者親手做)

驗收資料(DEV localhost:5432 guidant_ai_dev,連線看 .env):

  • 沒綁專案的資源庫:30387ee8-51ff-4d54-944f-66cb5476828b(CMMC 2.13 Level 1 AirAsia 2,mf 437)
  • 綁專案的資源庫:bf705aec-5bae-47fb-80f2-2d8245222019(CMMC簡易SSP-2,mf 471 ↔︎ 專案 1548 39bfa87c-…,目前第 2 輪覆核輪)
  • AO 很多的資源庫(驗版型):3749e167-6237-4882-bac4-36f32772776e(CRA E2 驗收,65 AO)

照 design.md「端到端驗收」八條:

  1. 資源庫編輯頁「適用控制項」:左樹到 AO、點控制項右邊只有控制項欄位+底下 AO 清單、點 AO 右邊只有那條、上一條/下一條;AO 右邊沒有流程編輯器鈕。
  2. AO 表單最底下「任務說明」:沒綁專案一張小卡三格,填存重整還在;左樹計數變。
  3. 頁首「匯出任務說明」→ Excel 一列一任務、AO 欄合併、三欄黃底;改兩格「匯入任務說明」→ 預覽只標那兩格 → 確認後畫面更新。(這段首腦只 headless 看到鈕與對話框,上傳→預覽→確認沒實走,請一定親手走一次。)
  4. 用填過三欄的資源庫啟動專案:規劃頁任務名稱/描述/指南=資源庫填的;沒填的仍是「控制碼 / AO 收證據」。(首腦只用 API 驗,沒從建專案 UI 走過。)
  5. PM 在規劃頁把一條 AO 改成三站 → 資源庫頁同條 AO 三張小卡、狀態與指派人唯讀;改指南 → 規劃頁同步。
  6. 專案規劃頁「任務配置匯出」長相同資源庫(前九欄+類型/指派/部門/設備);改名稱/描述/指南匯回寫進任務。
  7. 啟動覆核輪:新輪同條 AO 任務三欄=上一輪。(2b 只用測試+psql 驗 UPDATE,沒實啟覆核輪。)
  8. 稽核中(送審鎖)資源庫頁三欄唯讀。

首腦實打過的(可少測):3a 三支 API 全套含 403/404、4a 資源庫端 export→parse→confirm→還原、4b 專案端同套、3c/3b/4c 版型與區塊 headless 實看。

§5

發版前還要做什麼(收口清單,全部未做;總驗收首腦統籌,FR-147 首腦配合)

  1. jedi-task-platform 發版:040d5d32 改了匯入 schema(加 name/description/guide 選填),版號仍 1.3.2 → 要 bump(建議 1.3.3)、推 Nexus。只有這一支套件是 FR-147 動的。
  2. pin 還原:BE pyproject.toml 目前四支套件走 path dependency(task-platform/compliance-audit/flow-engine/oscal-v2),這是 FR-139 C-2 與 FR-140~143 一路留下的,不只 FR-147。發版後一起還原 pin、poetry update <四支>、commit。各套件發版歸屬:task-platform(FR-147+FR-140.14)、compliance-audit(FR-142/143)、flow-engine/oscal-v2(FR-139~141)——總驗收首腦統一排。
  3. SPEC ✅ 已做(FR-154 CM-2971,BE 185e328b6):樣板編輯器「AO 任務說明」節、現況資料 Excel M~P 四欄、專案端任務配置 Excel 描述/指南欄、任務三欄來源;手冊 resource-library-guide.md。
  4. 使用手冊(docs/user-manual/):顧問怎麼在資源庫填任務說明、怎麼用 Excel 批次填。
  5. arc review(arc-review skill)掃三 repo FR-147 diff;本案碰到的超標檔已拆一支(ModuleFrameTemplateEditView.vue 1,954→1,392)、job_import_service.py 546→492,符合「至少拆一支」。
  6. 母卡 CM-2864 收 Done、README 總進度、需求中心重 build。
  7. push:BE 34、FE 43 commits 未推(含 FR-140~147 混在同 branch),決策者本人推。
§6

待決策者裁(總驗收時順便)

  • 4a/4b 空格語意不一致 已不存在,不必裁:4d(bfda2fe8a,CM-2875)把資源庫端任務欄併進現況資料 Excel 時改成「空白=不變動」,兩端已一致。剩下的真實差異只有「版面不同」與「專案端無法用 Excel 清掉描述/指南」,SPEC 已照現況寫(CM-2971)。FR-154 決策者 2026-10-21 的「這版不統一」裁定是依本段過期資訊做的,實際無事可裁。
  • 同一張範本流程圖被多條 AO 共用(舊資料形狀,DEV catalog 2142 一本 51 AO 共 50 圖):沒綁專案時改其中一條另一條跟著變。首腦裁「不提示」(FR-139 後新建一 AO 一圖),總驗收若覺得要提示再開小卡。
§7

定案摘要(改規格前先看這裡)

D1 啟動前三欄存範本流程圖第一個方塊(name+camunda 屬性 task_description/task_guide);D2 啟動後守資源庫編輯權不要求專案 manager、只開三欄;D3 讀目前輪次;D4 匯入對不到跳過;D6 資源庫頁流程編輯器鈕拿掉、顧問不改流程、啟動只認第一個方塊;D7 版型比照稽核計畫頁;D5 撤銷。出廠方塊名稱(Evidence upload/證據上傳/收證據)視同沒填(2a runner 補的,首腦採納)。

§8

環境與座標

  • branch:BE/FE/jedi-python-package 都在 feature/FR-139,不切。
  • DEV BE 8000:PyCharm 起的 BE 進程名是 .../Python.app/.../Python main.py,pkill -f "python main.py" 殺不到;重啟用 lsof -tiTCP:8000 -sTCP:LISTEN | xargs kill -9 再起。首腦 2026-10-17 因此驗到舊程式一次。
  • DEV FE 5180 跑中。
  • headless 登 DEV 截圖腳本樣板:test repo Playwright、登入 testid login-input-username/password、PrimeVue 頁籤要 click({force:true})、.mf-tn-ctrl 樹節點改 DOM evaluate(el.click())。
  • 文件:design.md(定案)、discussion.md(為什麼)、prototype/index.html(雛形 v4,已裁版)、FR-147-LOG.md(沿革與教訓)。