本卡屬 FR-092(母卡 CM-1703),第 5 棒盤點(CM-1708)產出的修正卡 C。純刪成員,不改行為。清單以
docs/features/FR-092-2609-dead-code-cleanup/scan-dead-members.md為準,本卡只摘要。
這些檔案本身活著、有人 import,但裡面的16 條方法沒有任何呼叫者。第 5 棒 runner 用五路核對(BE 直接呼叫/BE 字串引用/jedi 套件端/前端 emit/同檔字串)確認零命中,且不是 Flask HTTP 動詞、marshmallow Meta、框架 decorator 這類框架回呼。留著會讓人以為有人用。
首腦核對:報告內三條重點(notify/system_asset_snapshot/resolve_license_tenant_id)已親自 grep 複驗,結論見各卡「怎麼修」。
app/module_frame/service/ssp_import_template_app_service.py:1404,1415,1431 _fetch_devices_by_ids/_fetch_info_systems_by_ids/_party_by_uid
app/module_frame/service/module_frame_service.py:56,317 _create_template_ssp/update_assessment_workflow_job_link
app/module_frame/service/module_frame_import_service.py:262 module_frame_dto_to_ap_inputs
domain/module_frame/service/module_frame_domain_service.py:38,76,87,94 get_module_frames_by_ids/delete_module_frames/verify_module_frame_exists_by_id/verify_module_frame_exists_by_name
domain/feedback/service/feedback_issue_domain_service.py:33,37,52 get_feedback_issue/get_feedback_issue_by_id/verify_feedback_issue_is_exist
domain/project_summary_report/service/project_summary_report_history_domain_service.py:17,21 兩支 get_*
app/associations/service/project_system_characteristic_mapping_service.py:63 get_info_by_project_uid
docs/features/FR-092-2609-dead-code-cleanup/scan-dead-members.md 對應檔案段落,逐條到該行(vulture 行號是 decorator 那行,def 在其下)刪整個定義區塊(含 decorator 與 docstring)。docs/claude/domain-capabilities.md 登記為 canonical;刪前查該檔,有列到就拔該列。__all__、同檔別的方法呼叫);有就一起處理。docs/api/*/api-spec.md 與 docs/system-design/scripts/generate_*.py 若提到被刪的名字,屬描述性引用,順手拔該行/該列,同一 commit。不寫(純刪,test/ 對這批零引用)。跑:python -m pytest test/ -k 'module_frame or feedback or summary_report or system_characteristic' -q
git rm 並在 docs/features/FR-092-2609-dead-code-cleanup/dead-files.txt 補一行。python -m pytest test/test_module_boundaries.py test/test_error_code_uniqueness.py test/test_build_integrity_manifest.py -q 綠(必 python -m)+本卡列的相關模組既有測試綠+python main.py 起得來、curl -s localhost:8000/api/1.0/version 200。不跑全量。