本卡屬 FR-092(母卡 CM-1703),第 8 棒盤點(CM-1711)產出。純刪 8 檔。報告
docs/features/FR-092-2609-dead-code-cleanup/scan-dead-tests-scripts.md為準。
test/ 裡有幾支測試檔是空殼(0 或 1 位元組)、是工具腳本不是測試、或是被 pytest.skip 整檔擋掉但實際上測的行為 FR-038 早就拿掉了(把 skip 拿掉實跑 14 個 case 全紅)。這種「綠著但沒在守」的檔最會誤導人。scripts/archive 另有兩支 AI 儀表板整合測試,被測的 app/ai_dashboard/ 整個目錄已不存在,永遠跑不起來。
首腦核對:test_decision_merge.py:9 確實 import 第 1 棒要刪的檔(那條歸 CM-1704,已 append 到該卡);五支檔案大小與報告一致(0/1/492/505/9102 bytes)。
test/test_oscal_stage_preconditions.py 240 行 14 case,模組層 skip;被測模組活的但 check() 已改無條件放行——刪測試不刪模組
test/decode_salt.py 硬編碼 bcrypt hex 解碼小工具,零引用
test/test_bpmn_generator_basic_flow.py 0 bytes
test/test_nist_parse.py 1 byte
scripts/archive/test_compute_engine_integration.py 被測 app/ai_dashboard/ 整目錄不存在
scripts/archive/test_metadata_builder_integration.py 同上
(T-1 test_ssp_versioning_service.py 與 T-2 test_clone_ssp_objectives_reference_documents.py 隨 CM-1704 第 1 棒刪,本卡不碰)
git rm。scripts/archive/ 兩支刪後在 scripts/README.md 的 archive 段把該兩列標「已刪(CM-本卡號)」而非直接拔列(archive 政策是留紀錄)。scripts/README.md 漏收錄的兩支:scripts/deliverables/plugin_metrics.py(8/16 後新增,現役;註明 arc-review 記載三個已知缺陷待修)、scripts/deliverables/render_docx.py(現役,test_deliverables_renderer.py 在測)。統計數字順手更正。plugin_metrics.py 三個缺陷的修復(另卡);三支既有紅燈(test_upload_file_endpoint_paths_unchanged/test_mirror_has_same_members/test_same_tenant_historical_license_replaces)與本案無關,不順手修。不寫。全量對照基準:刪前 2252 collected, 2243 passed, 3 failed, 8 skipped;刪後預期 collected 2238(少 T-4 的 14)、skipped 7(少 T-4 模組 skip)、failed 維持 3。跑 python -m pytest test/ -q 一次貼數字進回寫。
git rm/git add;append 白話補充(刪了什麼、全量數字前後、commit hash);狀態改「修正待驗證」。push 等令。feature/FR-075。