每次驗收更新。「消掉」=該卡涵蓋的 SUMMARY 件數;Done 才算消。
驗收規則(決策者 2026-09-23 裁):首腦驗過直接 Done,不再攢著等決策者批;決策者最後從安裝到功能整個重測一遍,邏輯問題到時再調。
| 卡 | Case | 做什麼 | 涵蓋 # | 嚴重度 | 狀態 | 派法 |
|---|---|---|---|---|---|---|
| 1-1 | CM-2021 | 稽核任務流程的守門另開一支嚴格版,只給改資料的動作用 | #37 | 中 | Done | 自動跑第二輪(首腦已解鎖) |
| 1-2 | CM-2022 | 弱點檢測套件呼叫任務守門時改用新的嚴格版 | #37 | 中 | Done | 自動跑第二輪 |
| 1-3 | CM-2023 | 專案成員與任務指派寫入時先反查填進來的東西是不是這個專案的 | #41 #109 #110 | 中/低 | Done | 手動 |
| 1-4a | CM-2024 | 問卷填答歷史的「撤回」與討論串的「編輯/刪除」補上是不是本人與是否已刪除的檢查(套件側) | #38 #39 | 中 | Done | 自動跑第一輪 |
| 1-4b | CM-2025 | 問卷討論串新增軟刪除欄位(migration) | #39 | 中 | Done | 自動跑第一輪 |
| 1-5a | CM-2026 | 公告新增「發送範圍」欄位並在讀寫時檢查(套件側) | #42 #111 | 中/低 | Done | 自動跑第二輪(首腦已解鎖) |
| 1-5b | CM-2027 | 公告新增「發送範圍」欄位(migration) | #42 #111 | 中/低 | Done | 自動跑第二輪(首腦已解鎖) |
| 1-5c | CM-2028 | 公告表單加「發送範圍」選項(FE) | #42 #111 | 中/低 | Done | 自動跑第二輪(首腦已解鎖) |
| 1-6 | CM-2029 | 資產(設備/資訊系統)讀取端補權限檢查,修「停用」欄位濫用 | #43 #112 | 中/低 | Done | 自動跑第二輪 |
| 1-7 | CM-2030 | 意見回饋端點補權限檢查與作者比對,同一入口加「查看範圍」參數 | #45 | 中 | Done | 自動跑第二輪(首腦已解鎖) |
| 1-8 | CM-2031 | 流程範本驗證端點補權限檢查與長度/節點數上限 | #40 | 中 | Done | 自動跑第一輪 |
| 1-9 | CM-2032 | 補齊角色權限資料與意見回饋新增規則(migration) | #44 #43 | 中 | Done | 手動 |
| 卡 | Case | 做什麼 | 涵蓋 # | 嚴重度 | 狀態 | 派法 |
|---|---|---|---|---|---|---|
| 2-1 | CM-2033 | 檔案下載/預覽/刪除加上「誰能碰這個檔案」共用檢查 | #3 | 高 | Done | 自動跑第四輪 |
| 2-2 | CM-2034 | 問卷讀取放寬給任何專案成員、寫入補齊必填與歸屬檢查 | #5 #6 #48 #49 #50 #51 | 高/中 | Done | 自動跑第四輪 |
| 2-3 | CM-2035 | 工作項留言/稽核退回/流程範本查詢補歸屬檢查 | #7 #8 #52 #53 #115 | 高/中/低 | Done | 自動跑第五輪(首腦派 opus 獨立抽終態,過) |
| 2-4 | CM-2036 | 專案成員/控制項成員/任務指派查詢補齊必填參數與歸屬檢查 | #54 #55 #58 #59 | 中 | Done | 自動跑第四輪 |
| 2-5 | CM-2037 | 專案摘要報告與稽核輪次全部讀取端點補歸屬檢查 | #56 #57 | 中 | Done | 自動跑第五輪(首腦派 opus 獨立抽終態,過) |
| 2-6 | CM-2038 | AI 儀表板查詢加權限白名單、移除「一律當管理者」後門、密碼欄位補進禁止序列化清單 | #60 #61 #62 #114 | 中/低 | Done | 自動跑第四輪 |
| 2-7 | CM-2039 | 工作項讀取/更新/刪除都要反查任務是不是屬於這個專案 | #63 | 中 | Done | 自動跑第四輪 |
| 2-8 | CM-2040 | 範本共用資料寫入三條路徑統一補歸屬檢查,新增能力檢查與流量限制 | #46 #65 | 中 | Done | 自動跑第四輪 |
| 2-9 | CM-2041 | SSP 參考文件刪除補「文件是否真的屬於這份計畫」的檢查 | #64 | 中 | Done | 自動跑第四輪 |
| 2-10 | CM-2042 | 弱點檢測工具測試連線、執行清單、掃描設定讀取端點補權限檢查 | #4 #47 #113 | 高/中/低 | Done | 自動跑第六輪(補權限資料 migration envs=*+FE 403 提示;首腦驗 DEV 14 角色零缺) |
| 卡 | Case | 做什麼 | 涵蓋 # | 嚴重度 | 狀態 | 派法 |
|---|---|---|---|---|---|---|
| 4-1 | CM-2048 | 清版控裡的憑證殘留字串(外部平台通行證/AI 金鑰/管理員密碼/交接文件帳密) | #10 #11 #72 #73 #122 | 高/中/低 | Done | 自動跑第五~七輪(清憑證+拆文件站擴容;首腦核 .env 15 值零命中) |
| 4-2 | CM-2049 | 資料庫管理員密碼 249 檔殘留清除+堵住還在寫入的路徑 | #12 | 高 | Done | 自動跑 |
| 4-3 | CM-2050 | 開始掃描時不再把明文帳密多存一份進派工表 | #70 | 中 | Done | 自動跑第二輪 |
| 4-4 | CM-2051 | 清除 Google 雲端硬碟金鑰版控殘留字串 | #74 | 中 | Done | 自動跑第四輪 |
| 卡 | Case | 做什麼 | 涵蓋 # | 嚴重度 | 狀態 | 派法 |
|---|---|---|---|---|---|---|
| 5A-1 | CM-2052 | 讓代理程式每次打進來都要證明身分,並讓「撤銷」真的斷得乾淨 | #1 | 最嚴重 | Done | 手動(首腦第 4 棒裁「雲端發長效通行證+每請求查 DB 撤銷」;opus 抽 12 條、第一輪退回補 CSR CN 檢查、第二輪過;套件 150/BE 53/agent 720 綠) |
| 5A-2 | CM-2053 | 把驗簽工具與鎖定紀錄變成拔不掉的,讓防竄改的三層檢查不再共用一個弱點 | #17 #18 #90 #91 #133 | 高/中/低 | Done | 手動(opus 抽五條、第一輪退回補回執驗章、第二輪過;套件 113/BE 167 綠;#17 三點待 188 全量 build 實證、#91 標部分修) |
| 5A-3 | CM-2054 | 把「改全公司共用設定」收到客戶總部那一層,並補上儲存設定的密鑰遮蓋 | #22 #19 #134 | 高/低 | Done | 自動跑第三輪 |
| 5A-4 | CM-2055 | 交出去統一編碼——匯出試算表/Word 不被當公式、日誌不被讀成兩筆(合併 5C-7) | #20 #93 #102 | 高/中 | Done | 自動跑第三輪 |
| 5A-5 | CM-2056 | 讓停權當下通行證立刻失效,順便把日誌轉送的加密選項給客戶(M13第17條/SUMMARY #92 | #92 | 中 | Done | 自動跑第三輪 |
| 5B-1 | CM-2057 | 規則包解析前先看內容,並把三道防炸彈上限搬到所有來源都會經過的那一層 | #15 #76 #77 #78 | 高/中 | Done | 自動跑第三輪 |
| 5B-2 | CM-2058 | 弱點檢測三處資源上限——測試連線收斂、重新解析去重、換工具時用生效值重查 | #79 #80 #81 | 中 | Done | 自動跑第三輪 |
| 5B-3 | CM-2059 | 流程圖走訪記路+補上限,並讓範本的新增修改與起輪次一定會經過檢查 | #16 #87 #88 #128 | 高/中/低 | Done | 自動跑第三輪 |
| 5B-4 | CM-2060 | 問卷資料夾與即時填答——身分改用登入身分、送進來的欄位逐一收掉 | #85 #86 #126 #127 | 中/低 | Done | 自動跑第三輪 |
| 5B-5【驗證】確認 | CM-2061 | M07 這五件是否已隨舊線退役消失 | #89 #129 #130 #131 #132 | 中/低 | Not started | 自動跑(後續輪) |
| 5C-1 | CM-2062 | 檔案預覽先看真實格式再決定怎麼呈現,報告檔名去路徑查白名單,本機儲存補上衍生檔清理 | #13 #123 | 高/低 | Done | 自動跑第三輪 |
| 5C-2 | CM-2063 | 客戶端物件儲存密鑰不再回傳真值,連線改預設加密 | #14 #124 | 高/低 | Done | 自動跑第八輪(#14 五步驟 BE+FE,首腦派 opus 獨立抽;#124 裁不修) |
| 5C-3 | CM-2064 | AI 儀表板與聊天機器人補逾時與速率上限,序列化工具補排除密碼加鹽與管理員旗標 | #21 #94 #95 | 高/中 | Done | 自動跑第三輪 |
| 5C-4 | CM-2065 | 共用底層五件小修——密碼遮蔽補跳脫、分頁筆數補上限、設定打錯字改退正式模式、系統紀錄補錯誤處理、 | #82 #83 #136 #84 #103 #125 | 中/低 | Done | 自動跑第三輪 |
| 5C-5 | CM-2066 | GitHub 連線恢復憑證驗證,附件刪除改用實際算出的過濾結果 | #100 #135 | 中/低 | Done | 自動跑第三輪 |
| 5C-6 | CM-2067 | 內部套件庫改加密連線,套件 monorepo 版本鎖定檔補入版控 | #101 | 中 | Done | 自動跑第八輪(lock 17 支入版控;#101 https 決策者裁不修) |
| 5C-8【驗證+清理】密碼產生器少一碼——實際使用的那份已修好,查證並處理兩支零引用重複副本(SUMMARY | CM-2068 | #137,低/中) | #137 | 低 | Done | 自動跑第八輪(兩份零引用副本已刪) |
| 卡 | Case | 做什麼 | 涵蓋 # | 嚴重度 | 狀態 | 派法 |
|---|---|---|---|---|---|---|
| X-1 | CM-2082 | 合回前 FE 小修——七個新錯誤碼文案、設備選單 403 提示、意見回饋 scope 明送 | — | 中 | Done | 自動跑第五輪(首腦派 opus 獨立抽終態,過) |
| X-2 | CM-2083 | 起輪次要求範本已發布(#88 後半) | #88 | 中 | Done | 自動跑第四輪 |
| X-3 | CM-2085 | 代理程式登記與心跳時比對雲端時間,時鐘偏差超過 60 秒就醒目警告(不強制)——資料面 60 秒票在時鐘偏差下全拒的既有坑,M01 連帶 | — | 中 | Done | 手動(首腦親抽;套件 bad15b7d+agent 9edda49;套件 150/agent 720 綠;只警告無 exit 無 leeway) |
| 清理 | CM-2109 | 合回前清理:FE 六個錯誤碼三語文案、收本 arc 施工日誌註解、報告 #1/17/18/90/91/133 改狀態+#9/66/67 註 CM-1849、StorageConfigForm bucket 紅框綁錯、還原 BE path 設定 | — | 低 | Done | 手動(sonnet;BE fb6e03dd8/套件 f2d6e6a0/FE b65b6d5;首腦驗收過) |
| 郵件 | CM-2111 | #96 失敗 log 不帶設定+#97 STARTTLS 驗憑證(jsonb 新鍵 tls_verify/tls_ca_cert,鍵不存在=舊設定不驗,新建預設驗)+CM-1605 測試寄信換主機要重填密碼;無 migration | #96 #97 | 中 | Done | 手動(套件 e12287e2、BE e3c726896+76d0a1a89、FE b391966;首腦重跑 4+25 綠) |
| 開機鎖 | CM-2112 | 開機查 DB 竄改紀錄:權限不足/DB 帳密設定缺欄位改拒啟;連不上、表不存在、其他錯誤維持放行;刪表記已知限制 | #18 | 中 | Done | 手動(套件 da9294fe、BE a7743f1b9+97376b05f;首腦重跑 5+35 綠) |
| 歸屬 | CM-2113 | 🔴 CM-2039 回歸:resolve_project_id_for_job 改讀輪次鏈(wecm.round_id → 主流程 uid),不再查 task_assignees;DEV 實查 25,891 張覆蓋 100%、指派表 77 張 0 不一致;新檔 job_project_ownership_query.py;擴成全系統唯一判斷(job_uid/workflow_execution_id/task_id 三入口),登記 domain-capabilities;順手接 W8-1 強制開始(總表 159) | #63 | 高 | Done | 手動(BE f52a53f1e+ce73efcd9;首腦重跑 138 綠;存刪寫入路徑與 FE 三入口留總測) |
| 問卷歸屬 | CM-2114 | jedi-survey task_survey_guard 改呼叫宿主注入的 ITaskProjectResolver(委派 CM-2113),不再翻指派表推專案;未指派任務問卷不再 403 | CM-2108 #2 | 高 | Done | 手動(套件 034eef0e、BE 49cbe0b7b+7f91c310d;首腦重跑 127+14 綠) |
| 歸屬其餘 | CM-2119 | 其餘四處改接唯一歸屬判斷:workflow_execution_service _resolve_project_id_from_workflow(完成/退回、佐證、檢測守門)+凍結判斷、_is_round_frozen_for_job、current_round_status 第二 fallback;評估 FR-050 known_project_id 旁路能否拿掉 |
#37 | 高 | Done | 手動(BE e8445ae16+cd917b467;首腦重跑 129 綠;known_project_id 旁路評估可拿掉,待裁) |
| 我的任務 | CM-2115 | vw_user_job_queue 專案欄改輪次鏈,保留 security_invoker;主線 migration → 基線待重產(第 5 支) | CM-2108 #3 | 中 | Done | 手動(BE f709823ad;首腦實查 reloptions 在、77 列前後一致;基線待重產) |
| 角色範本 | CM-2116 | 公版內建一般角色範本(一般成員/稽核人員/唯讀檢視者),改 jedi-iam 建租戶服務由宿主注入、只給新租戶不做升級 migration;+管理員角色(is_admin=1)不可刪 | 8.3 候選 | 中 | Done | 手動(jedi-iam 9c3b360f、BE 0ab9811c5、FE 501b5ef;首腦重跑 116+15 綠;jedi-iam 補發 1.4.1) |
| 旁路清理 | CM-2120 | 拿掉 FR-050 known_project_id 旁路(bypass_round_frozen_gate 保留) | — | 低 | Done | 手動(BE 838599358;首腦重跑 148 綠) |
| 心跳測試 | CM-2121 | test_heartbeat_by_uid_updates_last_seen 跟上 CM-2085 的 server_time_utc(只改測試) | — | 低 | 併入 CM-2134 | — |
| cffi 守門 | CM-2132 | security_critical_pkgs.sh 以「目錄存在」判 cffi 在不在,Nuitka 編進主 binary 不留目錄 → 全量 build 誤擋;改成「零 .py+存在證據」 | #17 | 高 | Done | 手動(BE 52df2cf6c+919432229,退回一輪補 cryptography 空目錄;首腦七情境重跑正確) |
| 總清理 | CM-2134 | 發版前收齊所有小修:jedi-iam .mo 入版控+守門(取代 CM-2133)、integrity 死方法、compliance-audit 三支 _require_participant 收攏、4 支補 lock、common 空檔、心跳測試(取代 CM-2121)、摘要報告死方法、最後兩處查指派表 | — | 中 | Done | 手動(套件 6b5f181e/1a22c91d/cc092d59/cefbd740、BE 8ff5b3909/e2ffc2d4f/90bea6293;首腦重跑 148+3+119 綠;A3 不收) |
| 打包鏈 | CM-2135 | 唯讀 agent 盤點 v1.20.0↔︎fix/security-b1 後一次修:探針⑥ IN_PRODUCT 改 compiled+drive JSON 檔案檢查;產物權限 umask 022+chmod+斷言;FE commit 斷言 | #17 | 高 | Done | 手動(BE 4b7470516;188 唯讀實跑新探針 PASS6/SKIP4) |
| 2053 補驗 | CM-2136 | 188 產物副本:strace 驗 typing_extensions/six 開機是否被執行;竄改 _rust.so/_cffi_backend.so 驗開機被擋 | #17 | 高 | Done | 手動(②③成立;runner 報的 .pyc 缺口經首腦複核在 image 不成立) |
| 預發版 | CM-2137 | 進 1.21.0b1:release note(spec-site)+BE pyproject 1.21.0b1+FE package.json 1.21.0-beta.1;不 tag、不快照 | — | 中 | Done | 手動(BE 74239a353、FE dba0c24;RN 含同期 FR-112/110 等) |
| agent 版 | CM-2138 | agent 1.1.0b1:Nuitka product-version 取純數字段、pyproject bump、smoke 反向檢查檔名;188 切 fix/security-b1 出原生+compose 包 | #1 | 高 | Done | 手動(opus/medium;先唯讀盤點過,無 cffi/.mo/權限類問題) |
| 儲存密鑰 | CM-2117 | STORAGE_CONFIG 新建時密鑰空值後端擋 | 8.3 候選 | 低 | Done | 手動(BE c2d1657fa、FE 81dcc1b;首腦重跑綠) |
| 進度查詢 | CM-2118 | stage_advance get_current_stage_info 補成員檢查(在提前 return 前) | 8.3 候選 | 中 | Done | 手動(BE 27079da21;首腦實查無控制項/群組層獨有參與者,不誤擋) |
| 發版 | CM-2110 | 工作區發版:BE 獨立 venv → 17 支套件 minor bump+抬三處下限 → 發 Nexus+tag(不可逆)→ BE 改 pin+DEV 8003 驗 → 188 唯讀全量 build 驗三點;分五段,每段停等首腦驗 | — | 高 | 第一、二段過(套件 9db6428c),第 1~4 段過:18 支+jedi-iam 1.4.1 已上 Nexus,BE pin 0be9aa24a 已推,DEV 起得來、手測綠;第五段(188)待排 | 手動(opus/medium;決策者 09-24 裁工作區發版、188 放行、四 repo fix/security-b1 已推) |
create_system_config 無檢查(CM-2063 順帶);② 公版 seed 內建一般角色範本預勾讀取類權限(每加一顆讀取守門客戶就踩選單變空);③ 摘要報告兩支零呼叫死方法刪除(get_project_summary_reports :73、get_project_summary_report_by_id :89);④ 稽核階段「目前進度查詢」對非成員仍回資料(CM-2035 範圍外);⑤ list_ap_parties 查不到輪次就放行(CM-2037 順帶,總測盯)。