FR-103 · 需求索引 · 本頁由 build 掃資料夾生成

FR-103 主專案殘留清理

✅ 七棒全收(2026-09-16)。母卡 CM-1829。report 整條線/cruising 舊頁/user_auth_provider 上移/12 個舊選單/survey 接線歸位/乙案三條 FE 路由/丙案 BPMN 編輯器評估皆已驗收通過,出貨基線已重產;jedi-iam 已發 1.2.0、pin 已升。

狀態:✅ 已完成 文件 0 份 handoff 3 份

FR-103 一頁看完

§1

結論

  1. 主專案現在只剩該留的——26 個模組逐支查過(FR-102 地圖),清掉的是死碼與殘留, 留下的是本產品業務、產品規則、與接線殼。
  2. 四件確定的都清完了:report 整條線退役(含那支登入 Wazuh 抓報表的 Selenium)、 cruising 舊回饋頁、user_auth_provider 上移 jedi-iam、12 個 enable=0 的舊選單。
  3. 主專案側 23 支套件全部同形——survey/task_survey 接線收進 core/plugins/ 後, REGISTERED_APPS 不再有接線殼。
  4. 🔴 有三處查證後決定不動:evidence_classification(原型腳本的資料檔,build 腳本 已說明)、associations(v1 退場 v2 未接的中間狀態,341 筆真實資料)、 COMMON_PASSWORD_TOO_SHORT(號碼是 CM-1802 特地分出來的,不可讓出)。
  5. 🔴 FE 側有一條不能刪——/workflow/workflow-setup 有五支活頁面用 window.open 開它。原卡前提「views/workflow/ 是孤兒」被 runner 推翻,拆成乙案(CM-1835)與 丙案(CM-1836)。
§2

📊 總進度

棒 卡 做什麼 狀態
1 CM-1830 report 整條線退役 + translate 本機 .pyc ✅ 驗收通過
2 CM-1831 cruising 舊回饋頁退役 ✅ 驗收通過(i18n 由首腦補清一次)
3 CM-1832 user_auth_provider 上移 jedi-iam ✅ 驗收通過
4 CM-1833 12 個關閉選單退役(DB 側) ✅ 驗收通過 + 出貨基線已重產
5 CM-1834 survey/task_survey 接線歸位 ✅ 驗收通過
6 CM-1835 乙案:三條無人引用的 FE 路由 ✅ 驗收通過
7 CM-1836 丙案:新舊兩代 BPMN 編輯器整併評估 ✅ 決策者裁不遷加註記,FE 3d35229/BE 98d756bb

交接檔:handoff/fr103-STATE.md(現況)、 handoff/fr103-LOG.md(決策軌跡與教訓)。

§3

順帶修掉的兩個 bug

決策者在驗收過程中實測發現,不在原本的 arc 範圍內:

① 使用者匯入的「帳號」欄可留空 — 原設計是留空就用 email 前綴自動產生。決策者裁 「太怪異了」,改為必填(套件 edc9118 + 主專案 96c6814a)。

② generate_complex_password 產出少一碼(既有 bug,被 ① 引爆)—— 符號那行被註解掉時減數沒跟著從 4 改成 3,導致 generate_complex_password(12) 產出 11 碼,而預設政策要求 ≥12。實測修正前 200 次全部不合規。四個呼叫點(批次匯入、 add_user、user_domain_service 兩處)一起修好。主專案另有一份零呼叫者的死複本, 帶同樣缺陷,已刪(ce410ffb)。

§4

需求討論紀錄

  • 2026-09-16 決策者:「為什麼我看還有很多 route 在主專案?我以為像 system_config 等東西應該全部抽出去了」——本 arc 的起點。
  • 2026-09-16 決策者:「我要的就是乾淨的 code,因為我後面要去開發新功能了, 不要再留一堆無意義的東西。」
  • 2026-09-16 決策者:report 整條線「這不需要了」;12 個關閉選單逐列確認後全數退役。
  • 2026-09-16 決策者:FE 側走乙案(只退三條確定無人引用的),丙案另開卡先做評估。
  • 2026-09-16 決策者:COMMON_PASSWORD_TOO_SHORT 留著——查證後發現號碼不可讓出。
  • 2026-09-16 決策者:「如果有需要要去前端驗證喔」——盤點方法因此從「grep 原始碼」 升級為四層查證(api.js 常數/FE 路由/DB ui_routes/非瀏覽器呼叫者)。
§5

文件

以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。

本資料夾目前只有 README,尚無其他文件。

交接與收口時間軸(handoff/,3 份)

由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。

日期 文件 標題
2026-09-16 next-session-prompt / md —
2026-09-16 fr103-STATE / md FR-103 交接現況(living,就地更新)
2026-09-16 fr103-LOG / md FR-103 交接日誌(append-only)
§6

Notion 卡

卡片內容(決策紀錄、驗收條件)以 Notion 為準,本頁只記座標。

關係 卡號 標題 狀態
母案 CM-1829 FR-103 主專案殘留清理——四件確定要整理的(母卡,三棒) —
子卡 CM-1830 第 1 棒 report 整條線退役 + translate 本機殘留 修正待驗證
子卡 CM-1831 第 2 棒 cruising 舊回饋頁退役 修正待驗證
子卡 CM-1832 第 3 棒 user_auth_provider 搬進 jedi-iam 修正待驗證
子卡 CM-1833 第 4 棒 退役 12 個關閉的舊選單 修正待驗證
子卡 CM-1834 第 5 棒 survey/task_survey 接線收進 core/plugins 修正待驗證
子卡 CM-1835 第 6 棒 乙案:三條確定無人引用的 FE 路由 修正待驗證
子卡 CM-1836 第 7 棒 丙案:新舊兩代 BPMN 編輯器整併評估 驗收通過