唯一進度真相:
docs/analysis/2026-07-07-known-pits-remediation-tracker.md。本檔是 arc 完結的彙整 + 部署 handover + follow-up,逐條定調/銷帳一律以 tracker 為準。 branch:fix/v1.8.0-bugs(三 repo 皆未 push)。
FR-047 spec 手冊全站 67 頁 §12「邊界情況與已知坑」彙整成 508 條清單。核心認知:§12 是寫給工程師的邊界告知,不是 508 個待辦——混了「①可修 bug/缺口 / ②刻意設計只是提醒 / ③文件澄清」三種。arc 目標=逐桶把①挑出來修、②③維持 no-action。
八桶全數收口(tracker 進度總覽為準):① SEC(75→FR-048) / ② SCHEMA(60,DDL 5 項 DEV+STG) / ③ UX(47+歸入~10,本 session) / ④ ECODE(39,真缺陷 7) / ⑤ STATE(33) / ⑥ REPLACE(34) / ⑦ DEAD(30) / ⑧ 其他(204,~175 no-action)。至此 508 arc 完結。
3 路唯讀 agent 平行 live 驗證 + 主導親驗每個肯定/否定判定。47+歸入~10 條塌縮成:
orgUnitMenu(一行)not_found 未呈現 → 補計數role-manage#5(ui_routes 重名)已被 SCHEMA 桶 UNIQUE 收原定「啟用前強制驗證」,經 4 次 user 定調演進:
type/mfa_type key bug(BE c61cb9e0)da0ce32)update_user 需完整 payload → 新增 jedi-auth update_user_mfa_type + 主專案 PUT /user-mfa-type 輕量端點(BE 9e60bf37 + jedi-auth 2b3cf7b)430ea54)連帶 UX 打磨:個人資料頁拆卡(帳號安全獨立即時生效卡 + hint-bar,37a3ccc)、banner 角色/租戶/部門加類型標示(3b321e9)、MFA 關閉確認框、LDAP loading 收斂。順手修兩個既有 bug:重整直達 auth 頁 data-theme 未套、OTP 輸入框露暗色底(1477092)、我的稽核任務「進入稽核」按鈕改 info 明亮藍(1ef17c8)。
| 批 | 內容 | 狀態 |
|---|---|---|
| ① OTP 發送節流 | jedi-mfa redis 節流(otp_cooldown:{user_id},防 email bombing,登入首發+resend 共用,60s env)+ FE localStorage 吃 429 |
✅ 已發版 |
| ② 六項設計調整 | 權限即時生效(本人 session)/ device 停用 UI / 匯入連動下拉 / 判定後刷新 / 摘要報表放寬進行中 / device_type 標準下拉 | ✅ 手測待驗 |
| ②-bis notification.test 退役 | 做 #1 時發現角色矩陣 TEST 死欄 + notify-config 測試端點裸奔 → 退役 capability + 補守門(「能維護就能測試」) | ✅ 手測待驗 |
| ③ 專案狀態機 B 案 | project.status 維護半套(只掛 close_round)→ 建立即 in_progress + 補同步點 + 回填 migration;篩選/規劃 gate 改輪次驅動 | ✅ 手測通過 |
jedi-auth 0.1.26(update_user_mfa_type)+ jedi-mfa 0.0.12(OTP 節流)已 poetry publish 到 Nexus(monorepo bump fe5556a、主專案 pin 還原 7f2244d1)。已驗 venv symlink 已清、artifact 含新碼。
BE compliance-manager-be(15,f57fad0b..HEAD):c61cb9e0 TOTP verify+otp-resend / aadbe2ce UX 抽桶定調 / 17a34e9a+9e60bf37 U-5 B 案+端點 / 3aac0109+351ad86c review 登記 / c574f7ca 狀態機 B 案 / a3bcf6f3 OTP 429 handler / 4504e2e3 device_type seed / 6a9a5c60 notification 退役 / dc216424+d070340c 銷帳 / 7f2244d1+0a46918f 發版收尾
FE compliance-manager-fe(12,ae225f5..HEAD):ae225f5 U-1~4/6 / bfe8ac1~430ea54 U-5 系列(拆卡/banner/data-theme/dialog)/ 1ef17c8 按鈕 / 6cd28aa 狀態機 FE / 3c3e24c OTP FE / f0b47de 六項
jedi monorepo(3):2b3cf7b update_user_mfa_type / 099808f OTP 節流 / fe5556a bump
383b418a):14 頁 spec + html 逐頁對照 tracker,把真修的坑改寫成新行為 / 註已修,no-action 條目保留。涵蓋 user-profile(MFA B 案)、project-list/overview/dashboard(狀態機 + R1)、information-system / device(停用文案 + ECODE + SCHEMA)、user-import(R-3 + 六#3)、role-manage + _overview(六#1 + R5 + UNIQUE + notification.test 退役)、evidence 驗證/裁決(U-2)、audit-review(六#4)、summary-report(六#5)、auth/login(otp-resend + OTP 節流 + data-theme)。原「spec 待補」follow-up 全部已補。pyproject → 1.8.1 + 新 release note docs/release_notes/v1.8.1.md(彙整整個 arc)、v1.8.0.md 維持原本只涵蓋 FR-043/044/045;FE package.json → 1.8.1。⚠️ git 狀態注意:目前 checkout 在 main(非 fix/v1.8.0-bugs,兩者曾同一 commit),一個 merge 曾把 arc 內容灌回 v1.8.0.md、已於 204d31ca 還原乾淨。相關 commit:spec 383b418a、v1.8.1 bump+RN 5bac6a3c、v1.8.0 還原 204d31ca(BE);FE d53b3ee。cmmgr / --single-transaction / ON_ERROR_STOP=1,各檔 self-record schema_migrations),POC == STG。驗證:POC compliance.projects 已無 pending(archived:25 / completed:1 / in_progress:9)、system_menus DEVICE_TYPE 11 筆、uq_ui_routes_name 在;三 UNIQUE 套前預檢 POC 零重複。notification.test 在 POC 本就不存在(DELETE 0,no-op)。
2026-07-07-fr048-phase4a-capability-seed.sql 僅 DEV 有,且其中 notification.test 已被 FR-047 退役——重放原檔會復活它。改以新檔 2026-07-10-fr048-phase4a-caps-align.sql 只 seed 非退役子集(system_config.{create,update,delete}[is_platform] + feedback.export)+ 配給 Administrator,套 DEV(no-op)/STG/POC。驗證三環境 caps4 齊、notification.test=0、Administrator grants=4。殘留 filename diff:歷史 fr048-phase4a 仍 DEV-only(有效能力狀態三環境一致)。system_logs_old 10 萬列 / api_logs_old / backup 表 / operations 8 筆孤兒 / device_monitor 死功能)可退役(走 DROP 前安全四查);B 類未接線 feature(oscal.component_definitions 6 表 cluster / jedi-issue members)待確認計畫中還廢棄;命名不一致(_mapping vs plural link 表、跨 schema 同名 poams/roles)技術債。詳見對話紀錄。