FR-135 CRA 合規框架 — STATE(living,只描述此刻)

階段:FR-135 功能全部落地、等決策者驗卡與收口——第一期 12 卡、第二期 17 卡、第三期 2 卡(X1/S1)、兩張體驗卡(CM-2718/2719)、E2(CM-2708)全「修正待驗證」;CRA 繁中版框架已進 DEV(version 213);範例專案 1404「Guidant AI CRA 自評」可看。FR-137 週期任務與條件通知已由另一 session 落 design(CM-2721 Done)並開五張實作卡 CM-2722~2726(Not started,可派)。下一棒=新首腦:派 FR-137 五卡+CRA 收口。 最後更新 2026-10-12 晚(第 5 棒收棒)。沿革見 FR-135-LOG.md 與 git log。

§1

這是什麼

歐盟網路韌性法 Regulation (EU) 2024/2847,對賣進歐盟的連網硬體與軟體的強制資安規範。決策者要把它做成系統內可由顧問啟動的合規框架(像 CMMC),因為要有歐洲客戶了。CRA 是完全獨立的新框架,不是 ISO 子集;決策者裁 catalog 不嵌任何對他框架的對照,跨框架對應另案。

§2

總圖(2026-10-12 午後版;三期+收口)

期 項目 狀態
第一期 CM-2676~2687 十二張 修正待驗證,等決策者瀏覽器複核改 Done
第二期 A1 B1 B2 F1 F2 V1 C1 B3 F3 F4 R1-a 十一張+C2b 修正待驗證(C2b Done;C2 收舊路靠 C2b 驗)
第二期 C3(CM-2703) 修正待驗證(首腦 DEV 複核通過)
第二期 R1-b(CM-2702) 修正待驗證(退回重做版 13:15 收齊,首腦 DEV 複核通過)
第二期 C1b(CM-2696)AO 全面調整 修正待驗證(框架 4 群 34 條 49 AO)
第二期 第二期程式卡全部收齊(2026-10-12 14:0x);剩決策者驗卡、基線重產、套件發版、push —
第二期 E1 AO 證據來源機制(CM-2704) 修正待驗證(BE aba1c76e9、FE 00793743、套件 a76fd859 seed 006 同 2.5.4 未發版;首腦核 DEV:8 個 AO(7 個 only=true)+11 條無 AO 控制項(A2.6/A2.9 only=true)帶 evidence-source,與套件 seed 006 目標一致(第 4 棒原寫 12 為誤記)(六 type:risk-assessment/applicability/system-characteristic:ext:/party:/source-scan),CMMC 0;runner 順手修了建庫與啟動時整欄覆蓋 AO props 的坑;待裁:①類 AO 的「收證據任務」區塊要不要藏(任務仍會產生、統計卡會數,藏了使用者看不到卻算未完成);通報三條 AO 未標(第三期才有頁))
第二期 E2 only=true AO 不產收證據任務(CM-2708) 已開卡,可派(S;改 prep_job_generation 一處+測試)
第二期收口 D1 design-cra.md 改版(CM-2705) 修正待驗證(85d80293d;首腦核:沿革句型零命中、seed 殘字零、新 §6.6/6.9/6.11;文件類可直接 Done)
第三期前置 P0 四畫面假資料雛形(CM-2706) 修正待驗證(202e61871;prototype/phase3-index.html 起五頁,首腦核:互連、無 API、每頁有三件事提示;等決策者瀏覽器審,意見回寫卡上後開第三期 FR)
第三期 X1 三份法定文件匯出(CM-2712):`/ssp//export?format=cra-annex7 cra-annex2
第三期 S1 支援期剩餘天數徽章(CM-2713):資訊系統版本表徽章四色階+「90 天內到期」篩選 修正待驗證(FE bdf73218;DEV Jira 四筆測試版本)
第三期 通報案件頁籤/弱點處理狀態/提醒排程 決策者 2026-10-13 裁不做;通報與支援期提醒併入 FR-137;弱點處理狀態轉 FR-134 待辦 §3 第 14 列(鍵用 fingerprint);砍掉的設計與 ENISA 欄位表存 phase3-deferred-to-recurring-tasks-fr.md 已歸檔(CM-2711 65ec44643)
第三期 自家 SBOM 成證據(D14):Guidant AI 自家 SBOM 無可掃產物(DEV 掃的是 primevue),自跑 CRA 前要先有 未做,自跑前置
體驗 CM-2718 受評標的 CRA 欄位引導式折疊(schema 加 collapsed/gate;適用判定第一組、命中即收起其餘;sections.nist_fields=false 藏 FIPS 欄;上半部基本欄位同包折疊) 修正待驗證(BE 57e8a3a9c+26d28402f FE e49900b3;只對新建資源庫生效)
體驗 CM-2719 風險評估「帶入 CRA 建議威脅」(15 筆英文範本在 cra_2024.py SUGGESTED_RISKS;POST /ssp/<uid>/risks/suggestions/apply 冪等) 修正待驗證(BE d90b951a8 FE f1126b02;首腦實打:1402 第一次 15/第二次 0)
測資 繁中版框架:CRA_2024 第二版本 2024/2847-zh-TW(version 213/catalog 2135,4 群 34 條 49 AO 全譯),seed migration 2026-10-13-fr135-cra-zh-tw-version.sql(manifest seed,隨下次 migrate 出貨;只想 DEV 用要改 envs);產生器 scripts/gen_cra_zh_tw_version.py;桌面 CRA-框架對照表-繁中版-2026-10-13.xlsx 已套 DEV(a8341d371)
測資 範例專案 1404「Guidant AI CRA 自評(範例)」(CM-2720):資源庫 460 繁中版、流程範本「自我評估稽核」、58 任務、12 筆真實風險、21 筆證據、三份 docx 在 sample-project/ 修正待驗證(9d4fba9f5;首腦核 DEV)
體驗 導航 UI 六個 FE commit(.truncate 補定義、.tag-code nowrap、規劃頁與輪次頁群組列堆疊、標題兩行省略)——繁中長標題露出的跑版 已改,決策者看過 OK(0cee1dfc~75257fd5)
待排 CM-2716 雲端整合分頁 projects/undefined/folders 500(FR-052 舊 bug,非每次) 決策者裁先不修
FR-137 週期任務與條件通知:母卡 CM-2714;探脈 CM-2715 e33570d7f;討論稿+三頁雛形 CM-2717 8f7d3f98c/06853e47c/1d73da8ea(決策者看過雛形、補裁 D14~D18);design.md CM-2721 Done(a27ed7c07+D19 daf64804b);五張實作卡 CM-2722~2726 已開、Not started,順序①週期設定畫面→②到期生新任務→③掃描自動執行→④門檻通知+紀錄→⑤支援期提醒;沿用 branch feature/FR-135;動 jedi-flow-engine(加欄)與 jedi-source-scan(SBOM 完成回呼)兩套件 可派
收口 主線 migration 出貨基線重產:F1 form_settings、R1-a ssp_risks(F4 角色是 seed 不需) 等決策者排,寫 188 基線庫
收口 套件發版+pin 還原:jedi-oscal-v2 2.5.4(待 C1b)、jedi-asset 1.2.4、jedi-compliance-audit 1.3.7、jedi-file-upload 1.3.6 等明示
收口 push 三 repo 等決策者
收口 SPEC 頁、使用手冊(CRA 專案怎麼開、稽核當檢查用)、e2e 補 test repo、arc-review、母卡 Done、進版 總收口

流程改版(2026-10-12 決策者裁,已寫進 big-feature-workflow skill cbdd8402a):討論稿必附可點 HTML 雛形;卡排序以「何時看得到畫面」為準。開發規範新增(29230d649):下拉選項一律進 system_menus 不寫死。

GRC 待辦(不在 FR-135):組織層風險登錄與改善計畫合併、表單編輯器、依元件建議威脅、風險→自動推導適用要求、跨框架對應、自評路線、框架版本可改 AO 與建議證據、版本繼承。

DEV 測資待清:資源庫 454/455/456/457(F4、C3 驗收庫與對照組)、專案 1399 的 F3 測試值、ssp_risks 一筆「API test 風險 A」、資源庫 453 的測試表單設定。決策者驗收建專案請用 456(最新,含表單設定+角色+範本)。

決策者功課:第一、二期卡瀏覽器驗;顧問日後給 AO 拆法確認、Annex II 預設文字、五份範本內容(AI 版先頂)。

§3

已落地文件(branch feature/FR-135,已 push)

檔 用途
docs/features/FR-135-2610-cra-compliance-framework/cra-implementation-plan.md(+同名 .html) FR-135 主文件,PM 決策與派工用,先讀這份。一頁結論、七項已裁、競品對照、逐步差距、新東西放哪、AO 三階段、通報第一版、三份文件、三期派工
docs/features/FR-135-2610-cra-compliance-framework/phase2-discussion.md 第二期討論稿,D1~D14 待裁項與方案
docs/features/FR-135-2610-cra-compliance-framework/design-platform.md 第二期平台層設計(P2-A 四卡 A1/B1/B2/B3,實作決定 P1~P9)
docs/features/FR-135-2610-cra-compliance-framework/design-cra.md 第二期 CRA 層設計(P2-B~D 十卡 F1~F4/V1/R1/C1~C4,實作決定 C-P1~C-P10)
docs/features/FR-135-2610-cra-compliance-framework/cra-assessment-objectives.md 7 條拆 25 個 AO(AI 依 ENISA 子要求拆分,待顧問確認);套件 seed 004 由它轉出
docs/features/FR-135-2610-cra-compliance-framework/cra-suggested-evidence.md 31 條英文控制項標題與英文建議證據,已灌入框架,待顧問確認;改內容先改這份再轉進套件 seed
docs/features/FR-135-2610-cra-compliance-framework/enisa-mapping-worksheet.md ENISA/JRC 對照底稿,31 條逐條對草案編號、子要求、對照標準、缺口
docs/features/FR-135-2610-cra-compliance-framework/step-zero-gap-list.md 第〇步實測清單;第四節是第二期 design.md 的輸入
套件 jedi-oscal-v2/jedi_oscal_v2/migrations/002、003 CRA 31 條 catalog seed(條文+英文標題)與 guidance(建議證據),隨 jedi-oscal-v2 2.5.2 出貨
docs/analysis/2026-10-11-cra-public-resource-library-seeding.md 系統公版資源庫怎麼建的三方案取捨
docs/analysis/2026-10-11-module-frame-ownership-guard-centralization.md 資源庫寫入歸屬守門集中到共同入口的取捨
docs/reference/CRA/cra-implementation-guide.md(+同名 .html) 研究筆記,需要法規細節與查證依據時翻:CRA 是什麼、八附錄怎麼看、31 條控制項摘要、評估目標來源、市面工具、與市面工具對照、缺口落點、三份文件、五大項缺口、FR 切法、來源連結。primer/reference/gap-analysis 是它的展開
docs/reference/CRA/cra-primer.md 法規入門。法規結構與讀法、要求真實數量、為何評估目標要自編、ENISA 對照報告用法、市面工具與 COMPLYD 五步、製造商 11 步
docs/reference/CRA/annex-I-II-original-text.md EUR-Lex 原文 Annex I/II,catalog control 層唯一來源
docs/reference/CRA/cra-reference.md 決策者給的 COMPLYD 指南摘要(Part I 只列六七點,有漏,以原文為準)
docs/analysis/2026-10-10-cra-as-compliance-framework-gap-analysis.md 缺口分析,§1~§9。§8 順序、§9 第二輪查證修正最新
§4

已確認的事實(都查過程式碼或 DEV DB)

  1. 框架是資料不是程式;主流程無框架分支;資源庫(Profile)篩範圍+SSP applicability 標個案,兩層篩選已在。
  2. 解析器登記表只有 CMMC;無 OSCAL JSON 匯入;手動只能改刪不能新增條文。套件帶 CMMC seed SQL,是第二條入庫路。
  3. Bug:審閱頁「不適用」存 implementation-status,啟動稽核讀 applicability,兩鍵不連動,DEV 19,086 筆全 applicable。修法一行同步。
  4. 無 AO 的控制項系統允許(退回控制項層判定),CRA 第一版只進 30 條控制項不寫 AO。
  5. CRA 業務實體:產品主檔可用「資訊系統盤點」,缺版本與專案連結;完全沒有對應功能的是通報、規劃期風險評估、支援期三件。其他缺項:弱點處理狀態、任務到期、流程引擎 timer、通報案件、對外 HTTP 送件、系統內讀 SBOM。
  6. 官方無機器可讀條文;ENISA/JRC 69 頁對照報告有子要求與標準對照但編號是草案版;EN 40000-1-4 起草中、有版權、台灣無閱覽入口。
  7. Annex I Part I 13 項(非摘要的六七點)、Part II 8 項、Annex II 9 項;2026-10-12 C1b 後框架為 4 群 34 條 49 AO(新群組 Articles 13/14:風險評估、支援期、通報)。
  8. 資源庫寫入的租戶歸屬守門在 ModuleFrameDomainService.verify_module_frame_exists_by_uid(writable=True),守衛測試 test/security/code/test_module_frame_write_ownership_guard.py。oscal.* 表沒有租戶欄、RLS 擋不到,寫入一律要經這道入口。
  9. 系統公版資源庫由 BE image seed 建 2026-10-12 裁撤;目前沒有任何公版資源庫,資源庫一律顧問自建租戶版。SYSTEM scope 機制保留。
§5

決策者已裁

  • CRA 獨立框架,catalog 不嵌 ISO 對照;跨框架 mapping 之後獨立做。
  • 不另立「自家產品符合 CRA」目標;第〇步只是拿 FR-126 等現成材料當第一個測試案例。
  • 通報是未來獨立模組,多來源(SRP、STIX/TAXII、各 CERT),細節後談。
  • 先搞懂 CRA 再談平台。
  • CRA 框架全英文出貨(2026-10-11):控制項標題與建議證據改英文、比照 CMMC;框架層無多語機制,一本框架只存一種語言。建議證據是 AI 詮釋;決策者 2026-10-11 裁不卡審稿、英文稿先用,顧問日後確認有誤再以框架新版本或補灌修正(CM-2685)。
  • 系統公版資源庫走「裝機時由程式建」 → 2026-10-12 裁撤:公版資源庫不隨出貨建,顧問從畫面自建租戶版(框架目錄仍隨套件 seed 出貨)。seed-public-libraries 入口、public_library_seed_cli.py、installer/public_libraries.sh 已拔,install.sh/build_bundle 不再呼叫;SYSTEM scope 與唯讀守門(CM-2683/2684)保留給分享庫。DEV 三本 CRA 資源庫(449/451/452)與兩個 CRA 專案(1397/1398)已軟刪,決策者自建新資源庫驗第二期。
  • 資源庫寫入歸屬守門上移到共同入口並以 AST 守衛測試把關,不再逐支 service 補。
  • CRA 版本不掛官方 PDF:系統沒有替既有版本掛檔的路徑,整部法規 400 頁預覽意義低,等客戶要求。
§6

已裁七項

見規劃稿「已裁的事(2026-10-11)」:開 FR-135 母卡、風險評估手填雛形並預留欄位、表單設定為資源庫第四件、AO 第一版不寫、通報只做寄信與紀錄、第〇步第一期就開、稽核階段當「檢查」用。第一期三張子卡見規劃稿「分期與派工」。

§7

第一期結果

卡號 做了什麼 commit 狀態
CM-2678 控制項標「不適用」時同步寫 applicability,啟動稽核範圍才會排除;附 2 個測試案例並做過突變測試 BE 3ca6884b7 修正待驗證
CM-2676 ENISA/JRC 對照底稿+31 條建議證據草稿 BE d9e45053a 修正待驗證
CM-2677 CRA 31 條 seed 灌 DEV、建租戶版「CRA 公版」資源庫與第〇步測試專案、掛 FR-126/FR-134 證據到 17 條、產出 step-zero-gap-list.md BE 1a7bc04ec 修正待驗證
CM-2679 兩支 CRA seed 移到 jedi-oscal-v2 migrations/002、003,主專案 manifest 無對應列 BE 848582849;套件 3f2c3d2a、adc54f5e 修正待驗證
CM-2680 控制項只送部分欄位時不再清空實作狀態 BE b99a2c719 修正待驗證
CM-2681 新建資源庫回應的 publish_status 由 enable 推,與列表一致 BE 5985a7647 修正待驗證
CM-2682 CRA 公版 SYSTEM 化:RUN_MODE=seed-public-libraries,install.sh 安裝與升級都跑 BE f8756b608 修正待驗證
CM-2683 資源庫對非自有庫(系統公版、分享庫)標記唯讀、刪除回 403,回應帶 can_edit BE 3861b182e;FE 87745b0b 修正待驗證
CM-2684 歸屬守門上移共同入口+AST 守衛測試,補上控制項預設值、評估目標預設值、程序書池三支 BE 09a6cb08d 修正待驗證
CM-2685 CRA 控制項標題與建議證據全英文、補 ENISA 漏項;套件 seed 改英文、DEV 一次性 UPDATE BE 7315b6a05、8067e38ab;套件 cc5c515d 修正待驗證
CM-2686 框架版本「瀏覽」對話框三處:無原始檔不顯示 404、Guidance 標題用翻譯、建議證據條列分行 FE 5e183726 修正待驗證
CM-2687 框架版本預覽第三態:原始 PDF 遺失顯示「檔案已遺失」;套件 jedi-file-upload 物件儲存無檔回 404 不再 500(DEV log 實證 S3Error 5xx) — 已開卡,等派工

jedi-oscal-v2 2.5.2(套件 3d7362fb)已推 Nexus,BE pin 換到 2.5.2(30124c320)。租戶版「CRA 公版」(uid cf988e43-…,tenant 102)與第〇步測試專案保留,是第〇步測資。母卡 CM-2675 維持 Not started。

§8

第二期子卡

卡號 做什麼 規模 依賴 波次 狀態
CM-2688 A1 規劃頁顯示條文原文與建議證據(BE 樹加兩欄+FE 新元件) S 無 ① 修正待驗證(BE d75b6f498、FE c0eb6418;首腦核:回傳形狀有兩欄、檔 1,053 行淨減)
CM-2689 B1 收證據範本 SYSTEM 化(phase=seed migration)+啟動時空值退回系統預設 S~M 無 ① 修正待驗證(5e621248f;首腦核 DEV:範本 SYSTEM|1|1、manifest seed;runner 實跑 CRA 租戶 131 0→31 筆、CMMC 59 不變;翻譯列實測不需補;phase=seed 不需重產基線)
CM-2690 F1 表單設定落點:module_frames.form_settings JSONB+三層帶欄+validate_form_settings S 無 ① 修正待驗證(0a915e658;首腦核 DEV:欄在;31 測試+三組突變;error code 用 400013;主線 migration 1 支,出貨基線待重產)。seed CLI 寫入那段已隨機制裁撤一併刪除,欄位與驗證保留
CM-2691 C1 AO 拆分範本 cra-assessment-objectives.md(AI 拆、待顧問確認)+jedi-oscal-v2 seed 004 S 無 ① 修正待驗證(BE 48d037741、套件 d91974f1 bump 2.5.3 未發版;首腦核 DEV:AO 25 筆(預估 21,多 4 有理由)、冪等;AO 句首 [a] 字母配合分類器解析)
CM-2692 B2 無 AO 控制項每條各 clone+略過 warning+規劃頁控制項層補流程 uid M B1 ② 修正待驗證(a348d7c92;首腦核 DEV:專案 1400 首輪 24 筆控制項層工作對 24 份不同副本;4 測試+突變;專案 1400 留作 B3 測資)
CM-2693 F2 兩支唯讀 form-settings 端點(資源庫 uid/SSP uid) S F1 ② 修正待驗證(021911452;首腦核:兩 route 已註冊、451 form_settings 還原 NULL;偏離:SSP 版只服務專案 SSP、範本 SSP 走資源庫 uid 那支)
CM-2694 V1 資訊系統版本子表 information_system_versions(jedi-asset 006+四層+端點+FE 子表格) M 無 ② 修正待驗證(BE 7c8ed0f71、FE 9dfa9e35、套件 1ae56f9f 1.2.4 未發版;首腦核 DEV:14 欄、RLS+FORCE 開、4 policy、cm_app 四權;5 支 RLS 測試+突變。首腦補:新 v-can 掛點讓權限矩陣守衛紅,已重跑 gen_permission_matrix.py 轉綠)
CM-2695 C2 證據 locator+收舊套掛檔+刪舊 clone 端點 M 無 ② 修正後仍有問題(locator 加錯層,由 CM-2697 拔除;收舊路部分保留)(BE ccd5b2eae、FE ac563518、套件 6af7b957 1.3.6 未發版、test 06d18cb;首腦核 DEV:locator varchar(500) 在;超標檔淨減 73 行;舊套三環境唯讀查證無資料;主線 migration 1 支,出貨基線待重產;打折:POST /module-frame/clone 回 400 非 404、資源庫範本頁掛檔對話框未加出處輸入框(另開小卡))
CM-2697 C2b 拔掉程序書對應的 locator;保留 C2 收舊路 S~M C2 ② 修正待驗證(BE 3bcb1fe51、FE ef35c92f、套件 bdabc365;首腦核 DEV:欄與 schema_migrations 紀錄皆清、45 筆對應未丟;三 repo grep 零殘留;舊路仍刪、詳情改讀新套仍在;守衛 369 過 2 紅皆基線)
CM-2698 B3 覆核輪對無 AO 控制項從上一輪取範本 S+S B2 ③ 修正待驗證(BE 53155f6c0、套件 e297e3e5 1.3.7 未發版;首腦核:查詢方法在、套件傳 parent_round_id;3 測試+突變;打折:DEV 無走完首輪的 CRA 專案,覆核流程未實跑)
CM-2699 F3 受評標的頁依表單設定渲染擴充欄位、ext_fields/ext_links 收送 M F2 ③ 修正待驗證(BE d3b0eaaad、FE 7b8cb40e;首腦核:FE 工作樹乾淨、SspTabPanel 已與 R1-a 合流成一個風險頁籤;7 測試+突變;url 欄 key 要 ext:cra- 開頭才存得進 links)
CM-2700 F4 建庫依框架帶 CRA 預設(framework_library_defaults/) S~M F1 ③ 修正待驗證(BE ae948be1c、FE 136d986c;首腦核 DEV:新庫 454 form_settings 5 群 22 欄、2 party、enable=1;對照 CMMC 455 全空;角色 migration 兩列。偏離:oscal.oscal_roles 表不存在只寫 system_menus;migration 標 seed 非 active,不需重產基線;10 測試+突變)
CM-2701 R1-a 風險評估本體 oscal.ssp_risks+四層+端點+FE 表格 M 無 ③ 修正待驗證(BE a6cef11f3、FE 63c5782b;首腦核 DEV:24 欄、RLS+FORCE、policy、cm_app 四權;RLS 測試+兩組突變;主線 migration 1 支出貨基線待重產;頁籤本卡對所有專案顯示(R1-b 隱藏);決策者 12:40 補裁「依據標準欄(threat_ids)開在畫面」runner 未吃到,列 R1-b 一起做)
CM-2702 R1-b 風險頁籤依表單設定開關+依據標準欄(下拉) S F3+R1-a ④ 修正待驗證(第一版 BE b61eb6b8a/FE 8b0f0b97 退回後,重做 BE 894829e1c/FE 1f0a4ade;首腦核 DEV:system_menus 十列、migration 2026-10-12-fr135-risk-reference-standards.sql 標 seed 已登記、FE 讀 menuStore 無寫死 options;守衛 2 紅皆基線)
CM-2703 C3 五份文件範本骨架+F4 機制上傳預掛 S F4 ④ 修正待驗證(c9f39335a;首腦核 DEV:新庫 456 池 5 份、掛 15 條控制項 16 筆(卡寫 13 是首腦算錯,runner 照對照表做對);對照 CMMC 457 池 0;12 測試+突變;打折:建專案複製池與掛載未實跑)
CM-2696 C1b AO 全面調整:新群組 Articles 13/14 三條、拆 6 條、改句搬移、建議證據三段式掛各 AO 底下、去標記;seed 005(2.5.4 未發版);BE/FE 讀 AO 自己的建議證據 M~L C1 ② 修正待驗證(BE 16a61ba16、FE 089a82df、套件 6ab5c23f+c59087e6;首腦核 DEV:4 群/34 條/49 AO/49 AO guidance/0 標記殘留;搬移三 AO 原列改掛(created_at 仍 10-11);首腦重跑 005 計數不變;內容單一來源 scripts/cra_ao_content.py 產 md 與 seed;打折:框架版本瀏覽對話框不列 AO 層建議證據,要看要另開小卡)

第三、四波(B3 F3 R1 C3/F4→C4)等第二波派出後再開,卡內容從兩份 design 拆分節轉。

§9

第〇步實測出來、改變第二期的事實

  1. 規劃頁看不到條文原文與建議證據:FE ProjectPlanningView.vue 組控制項樹時 description: '' 寫死,BE control-tree 也不回 statement/guidance。CMMC 靠 AO 文字補上「要查什麼」,CRA 沒有 AO 就直接露出。影響全部 31 條,也不限 CRA。
  2. 沒有 AO 時準備期 0 個工作:收證據的流程範本只有兩個來源——AO 上的流程範本,或資源庫的 template_uid 退路。新建資源庫的 INSERT 不寫 template_uid,DEV 14 個資源庫全是空的,退路從來沒被走過。任何沒有 AO 的框架都會遇到。
  3. 流程與文件類證據沒有材料:CVD 政策、通報窗口、安全通告、支援期聲明這類證據,產品本身沒有,系統也沒有幫客戶產出的工具(13 條)。
  4. 證據只能掛整份檔:指不到檔內某一節或某幾條 SR,只能寫在說明欄(11 條);控制項的 reference_documents 與 document-mappings 兩套掛法並存,規劃頁讀的是後者。
  5. 一條包多件事要拆 AO:證據才能分開放(7 條)。
  6. Annex II「資訊本身」要結構化欄位:例如支援期結束日、通報窗口網址,現在只能上傳截圖或寫在說明文字(6 條)。
  7. 自家 SBOM 不在系統內:FR-127 出貨的 SBOM 沒有可下載的產物可匯入;「定期執行」只有單次紀錄,證明不了頻率。

第 1、2 點是系統層,第 3~6 點是 CRA 內容層,第二期 design.md 要分開寫。

§10

下一棒要做的(新首腦接手)

  1. FR-137 五卡派工:CM-2722~2726 已開(卡內容由 CM-2721 design.md 拆分表轉入,自足),照①→⑤順序派,①②可平行後③④⑤;每卡回來首腦查 DEV。design 在 docs/features/FR-137-2610-recurring-tasks-and-conditional-notify/design.md,雛形 prototype/。套件異動開發期走 path dependency(工作樹 pyproject 已開 oscal-v2/asset/compliance-audit/file-upload 四支,flow-engine/source-scan 要再開)。
  2. 決策者驗卡:約 33 張「修正待驗證」,建議從範例專案 1404 走一遍(規劃頁 AO 證據來源→受評標的折疊→風險評估→匯出三份 docx)一次驗掉大半。
  3. CRA 收口(等驗卡後):出貨基線重產(F1 form_settings、R1-a ssp_risks 兩支主線 migration,FR-137 ①④ 還會各加一支,可一起重產);套件發版+pin 還原(jedi-oscal-v2 2.5.4、jedi-asset 1.2.4、jedi-compliance-audit 1.3.7、jedi-file-upload 1.3.6+FR-137 再加兩支);push 四 repo(BE 約 75 commits、FE 約 22、套件 9、test 1);DEV 測資清理(454~458、1397~1404 看哪些留);SPEC/手冊/e2e/arc-review/母卡 Done/進版。
  4. 小卡未開:框架版本瀏覽對話框列 AO 層建議證據;AO 對照表英文版依新框架重產(繁中版已產);套件 seed 006 通報三 AO 的「Reporting module (Phase 3)」字樣改「upload the notification records」;稽核主流程範本 SYSTEM 化+建庫帶 audit_flow_template_uid(runner 用 API 建專案漏傳範本的根因)。
  5. CRA 自跑:等 FR-137 做完、自家 SBOM 有產物再談(決策者裁)。
§11

第二期裁示(決策者 2026-10-11,討論稿 phase2-discussion.md D1~D14 全裁)

  • D1 沒有「複製資源庫」功能 → 本期範圍外;專案直接讀資源庫的表單設定。
  • D2 表單設定落點 → compliance.module_frames 加 JSONB 欄 form_settings,結構檢查在應用層。
  • D3 專案取得設定 → 主專案新端點,不改 jedi-compliance-audit DTO。
  • D4 「收證據」範本改 SYSTEM scope 並隨安裝帶上 → 同意。落地方式依 design-platform P1:走主專案 phase=seed migration(冪等 UPSERT,新裝與升級都套,先例 fr093-4d;規範 scripts/init/README.md「出貨 seed 的去向」),不 dump 進 04-seed-core.sql,其「必須為空」檢查維持不動(新裝順序 init → migrate,不衝突)。討論稿原寫「改 04 檢查放行」是落地方式寫錯,方向不變。
  • D5 刪 451 重建 → 2026-10-12 改:公版機制裁撤,DEV 五個 CRA 物件全軟刪;C4「重建公版」卡取消,驗收改為「決策者從畫面新建 CRA 資源庫+專案」。
  • D6 7 條 AO 拆分 → 不等顧問;分析模式由 runner 依 ENISA 底稿與第〇步拆點自產 cra-assessment-objectives.md(英文、_obj.N、標「AI 拆分待顧問確認」)→ 套件 seed 004。另 24 條不拆。
  • D7 兩套程序書掛法 → 收掉舊套、詳情 API 改讀新套(已做,保留)。加 locator 2026-10-12 裁撤:程序書是公司 SOP,掛控制項=證明有規定,不指章節;locator 加錯層,CM-2697 拔除。第〇步「證據指不到檔內某節」缺口屬證據(job evidence,準備期工作底下的附件)那條,要不要在證據上加出處另案討論。概念鐵則:程序書(SOP/流程文件,CMMC/ISO 都有)≠ 證據(證明達到控制項要求的附件),兩套路、兩種畫面,不可混。
  • D8 覆核輪對控制項層工作傳 None → 本期修,與平台層 B 一起發 jedi-compliance-audit。
  • D9 風險評估存哪 → 路線 2:新表,掛專案 SSP,欄位對齊 OSCAL 風險物件(威脅、資產、衝擊、可能性、既有控制、措施、狀態、對應控制項、元件連結、威脅來源預留),與結案的改善計畫(POA&M)分開;GRC 期再決定是否合併。被排除:借 AR 殼(主體錯、要造 AP);借 POA&M(OSCAL 允許但與本產品「改善計畫=結案才有」心智模型衝突,顧問要轉觀念);SC.props JSON 陣列(多人覆寫、無外鍵、統計要拆 JSON)。
  • D10 文件範本 docx → 顧問主筆;runner 只做格式。上傳公版程序書池預掛 公版已撤,改為:範本骨架放 repo(docs/features/FR-135-…/templates/),資源庫層「依框架帶預設」時一併掛進資源庫程序書池(與 F4 同機制,見下)。
  • F4 改法(2026-10-12 裁):表單設定、Annex II 預設說明文字、CRA 兩個 Party 角色空殼、文件範本預掛,統一改為 create_resource_library 建庫時依框架 code 帶預設(新檔 app/oscal/service/framework_library_defaults/cra_2024.py 等,一框架一檔,查表套用);不再靠 seed CLI。
  • D11 舊 clone_module_frame 端點 → 刪,FE 常數一起刪。
  • D12 收證據範本來源 → 啟動稽核時讀到空值退回系統預設,建資源庫 INSERT 不改。
  • D13 通報窗口、揭露政策 → 不存受評標的 props、不動資訊系統主檔:通報窗口與製造商是 SSP metadata 的 Party,以 responsible-party 掛角色(「製造商」「漏洞通報聯絡人」);揭露政策網址、安全通告頁、聲明取得位置是 SSP link。CRA 公版 SSP 範本預建角色,建專案隨範本複製,客戶在參與單位頁填人;第三期通報模組讀同一個 party。落地方式依 design-cra C-P5/C-P6:角色掛 party 本體 props.responsible-role(產品既有做法;建專案時 party uuid 重產,metadata.responsible_parties 會斷鏈),link 存受評標的 SC.links(metadata.links DEV 0 筆無寫入口)。Annex II 六項重分:party/link 類走此;支援期結束日、產品識別等單值才走 SC.props(ext: 前綴)。
  • D14 自家 SBOM 成證據、定期執行證明 → 本期範圍外。
  • 既定:第二期範圍合併兩份清單;design 拆 design-platform.md(P2-A)與 design-cra.md(P2-B~D);表單設定最小版邊界;稽核當「檢查」用系統不改。
§12

待裁

  • 無。E1 收證據任務(裁 B→E2 做完)、AO 調整(C1b 做完)、AO 證據來源機制(E1 做完)、Art.13 放法(隨 C1b 新群組解決)皆已結案。
§13

第三期裁示(決策者 2026-10-13)

兩卡、順序 X1 → S1:X1 三份法定文件 docx(Annex VII 技術文件、Annex II 使用者資訊、EU 符合性聲明,沿用 SspDocxGenerator);S1 資訊系統版本表支援期剩餘天數徽章與篩選。 D4 只出 docx,不做 PDF。通報、提醒、弱點處理狀態的去向見下節「功能補齊」範圍。規格見 phase3-discussion.md。

§14

「功能補齊」範圍(決策者 2026-10-13 裁,自跑 CRA 流程等這些做完再談)

  1. CRA 第三期縮為兩卡:X1 三份法定文件 docx(Annex VII/Annex II/符合性聲明,通報範本不做)、S1 資訊系統版本表支援期剩餘天數徽章。通報案件頁籤、弱點處理狀態、提醒排程不做;討論稿已縮為兩卡(CM-2711)。
  2. 新 FR「週期任務與條件通知」=FR-137(母卡 CM-2714;探脈 CM-2715 已收 e33570d7f;討論稿+雛形 CM-2717 派出;沿用 branch feature/FR-135;13 題裁示見 CM-2717 卡)。另:專案頁雲端整合分頁 500(FR-052 舊 bug)開 CM-2716 修。:任務可設週期(設在任務上,資源庫 module_frames.frequency 閒置欄當建專案預設帶入)、時間到自動重開任務並通知執行人;掃描類可自動執行;掃描類可設風險門檻(high 以上)額外通知對象(CRA 填通報聯絡人),通知要留紀錄(哪次掃描、什麼等級、何時通知誰)。通報提醒、支援期提醒併入。三種任務型別(一般/檢測工具/問卷)都要能設。輸入:CM-2711 產出的 phase3-deferred-to-recurring-tasks-fr.md。
  3. 弱點處理狀態欄轉 FR-134 待辦(鍵用 fingerprint)。
  4. 套件 seed 裡 CRA.ART.14.RP 三個 AO 的「Reporting module (Phase 3)」字樣要改成「upload the notification records」(隨下次 seed 修)。
  5. 自跑前置:Guidant AI 自家 SBOM 要有可掃/可掛的產物(FR-127 出貨 SBOM 無可下載產物、DEV 掃的是 primevue 範例);第〇步清單 7 條「產品沒機制」另列產品待辦,不是合規系統能補。
§15

寫文件的陷阱

  • md 表格前後必須空一行,否則 render_doc.py/render_index.py 把表格吐成一行豎線,整頁跑版。
  • 整站 build:python scripts/deliverables/render_index.py docs/features/FR-135-2610-cra-compliance-framework/。
  • 有 front matter title: 時正文不要再寫 # 標題,會出兩個 H1。
§16

下一棒不要做

  • 等決策者發令才派工、開第二期卡;不寫 code。
  • 不動租戶版「CRA 公版」與第〇步測試專案(第〇步測資)。
  • 不把第三方摘要當 control 來源,一律用原文檔。
  • 不把 EN 40000 或 ENISA 條文抄進 catalog。