日期:2026-07-07 branch:
fix/v1.8.0-bugs(未 push,等 user 明示) 範圍:FR-047 已知坑 DEAD 桶(死碼/預留/vestigial)逐條銷帳 + 尾巴 v1 module_frame template copy 整條鏈退役 追蹤表:docs/analysis/2026-07-07-known-pits-remediation-tracker.md§DEAD 桶(逐條銷帳表為 living truth,本檔為 arc 收口彙整)
DEAD 桶 30 條逐條 grep/DB 驗證後分 5 族處理——只刪「確定安全」的死碼,其餘(死欄/表待拍板、誤歸 bug 改桶、寫了沒接回報)不動;尾巴把一條 live-wired 卻零呼叫、JOIN 已 drop v1 表的 module_frame template copy 鏈整條退役。
compliance-manager-be)| hash | 類型 | 內容 |
|---|---|---|
d4b6ee6e |
chore | 刪 feedback 模組確認死碼(FeedbackRequest/FeedbackFileRequest schema + ALLOWED_EXTENSIONS 常數) |
7c058565 |
docs | 追蹤表 ⑦DEAD 桶逐條銷帳(5 族分類表) |
2d085edf |
refactor | 退役 v1 module_frame template copy 整條鏈(23 檔,-1312 行) |
d573c2d4 |
docs | 追蹤表 _overview#3 標「已退役」附 commit |
ae169a99 |
docs | 追蹤表補三環境 DB 實查結論(無需 DROP migration) |
compliance-manager-fe)| hash | 類型 | 內容 |
|---|---|---|
7afeb49 |
chore | 刪確認死碼 service/表單元件 4 支 + 註解掉的死 route |
註:同期 branch 上另有
76c9b677/c797b1d6/58dbfddd/3b8dad05/999d548a等 FR-047 其他桶 / _overview#3 調查 commit,屬平行 session,不在本 arc 收口範圍。
| 坑 id | 刪除物件 | 行為差異 |
|---|---|---|
| user-form#1 | FE UserForm.vue(463 行)+ 註解 route |
無(生效版 UserMTRBACForm.vue,死碼零引用) |
| user-log#7 / bulletin-manage#5 / feedback-management#6(FE) | FE UserLogService.js / BulletinService.js / FeedbackService.js(讀 /demo/data/*.json) |
無(零 import 的假資料 service) |
| feedback-management#6(BE) | FeedbackRequest schema / feedback_file.py / ALLOWED_EXTENSIONS 常數 |
無(route 手解 request.files['json'],schema/常數零引用) |
2d085edf)背景:oscal.profile_controls / oscal.catalog_control_assessments 兩張 v1 表 FR-038 v2 後已從 DB drop,但主專案殘留一條 live-wired(DI 有註冊)卻零呼叫的 v1 copy 鏈 JOIN 它們。FR-038 Wave 2B 後專案啟動改走 project_start_app_service.deep_clone_ssp,這條鏈被整條繞過 = 孤兒 + 上膛腳槍(誰重新接 copy() 就 UndefinedTable 500)。
退役內容:
module_frame_template_copy_service.py + infra/module_frame/clone/(cloner_impl + __init__,整目錄)+ domain/module_frame/gateway/(interface + __init__,整目錄)infra/associations/{model,mapper,repository}/profile_assessment_workflow* + domain/associations/{entity(×2),repository,service}/profile_assessment_workflow*;6 個 associations/__init__ 清 PAW export(保留其餘 sibling)di_containers/module_frame/module_frame_containers.py 移除 4 imports + repo/domain_service/cloner/copy_service provider + ModuleFrameService 注入參數ModuleFrameService 死碼:PAW imports/建構參數/self 屬性(全檔零讀取)+ create_assessments_workflow_template 整支(零 caller,已被 v2 _init_ao_workflows 取代)+ 連帶死掉的 ActionType importtest_module_frame_template_copy_service{,_phase2}.py;test_ssp_versioning_service.py 僅改指向已不存在檔案的 docstring 參照行為差異:無。全鏈零 production caller,退役不影響任何 live 路徑(專案啟動、資源庫 CRUD 皆走 v2)。
.py 歸零;殘留只剩 v2 tree dict-key profile_controls(非表)+ serializer field + 2 處說明註解.venv):associations / module_frame_service / DI 依賴鏈 import 無斷裂git stash 對照):HEAD 59 failed / 191 passed / 25 errors → 本次 49 failed / 189 passed / 25 errors。失敗↓10(=被刪的 copy_service 測試,baseline 即因 JOIN 死表而 fail)、errors 25 不變且皆 pre-existing(ai_dashboard.service.* / module_frame_*_default_entity 等既有 stale 測試,與退役符號無關)、零新增失敗profile_controls / catalog_control_assessments / FK-holder profile_assessment_workflow_mapping 三表在 DEV / STG / POC 全部 already dropped,v1-family pattern 掃殘留=none → 無需補 DROP migration,DB 端已乾淨docs/analysis/2026-07-07-known-pits-remediation-tracker.md:§DEAD 桶 5 族逐條銷帳表 + _overview#3 標「已退役」+ 三環境 DB 實查結論docs/claude/database-schema.md:catalog_control_assessments / profile_controls / profile_assessment_workflow_mapping 三列標「v1 已退役」(drift 修正)users.topt_secret(37 users 全 0 資料、零引用)=乾淨 drop 候選,待補 STG/POC 多環境確認 + user 拍板才 DROPSURVEY_409003(jedi-survey,零 raise site)需 user 拍板 + 發版才刪project-dashboard#1→BUG、role-manage#3→BUG+ECODE、feedback-management#1→BUG(TypeError)、issue-integrate-config#1→REPLACEuser-log#6 maintain_log_partitions() 無排程;feedback verify_feedback_issue_is_exist 守門未接(update/delete 缺 None 檢查會 500)→ 正解是接上非刪docs/features/FR-047-.../known-pits-remediation-tracker.md(untracked 副本)與 docs/analysis/ 版本並存,可擇一收斂(非本 arc 阻塞)deep_clone_ssp,不碰退役的 copy 鏈)