本卡屬 FR-092(母卡 CM-1703),第 5 棒盤點(CM-1708)產出的修正卡 B。純刪成員,不改行為。清單以 docs/features/FR-092-2609-dead-code-cleanup/scan-dead-members.md 為準,本卡只摘要。

問題是什麼(白話)

這些檔案本身活著、有人 import,但裡面的14 條 class/函式/方法沒有任何呼叫者。第 5 棒 runner 用五路核對(BE 直接呼叫/BE 字串引用/jedi 套件端/前端 emit/同檔字串)確認零命中,且不是 Flask HTTP 動詞、marshmallow Meta、框架 decorator 這類框架回呼。留著會讓人以為有人用。

首腦核對:報告內三條重點(notify/system_asset_snapshot/resolve_license_tenant_id)已親自 grep 複驗,結論見各卡「怎麼修」。

在哪裡

api/oscal/serializers/framework/oscal_framework.py:5,18,31,44,181   CatalogSchema/ProfileSchema/SystemSecurityPlanSchema/AssessmentPlanSchema/OscalFrameworkVersionImportRequestSchema
domain/oscal/service/reconciliation/_normalizers.py:53,67,80         parse_device_lookup_label/parse_info_system_lookup_label/_normalize_control_id
api/oscal/serializers/ssp/ssp_docx_import.py:5,114                    SspDocxImportParseRequestSchema/ObjectiveDiffSchema
api/oscal/serializers/ssp/ssp_excel_import.py:5                       SspExcelImportParseRequestSchema
app/oscal/service/excel_parser/types.py:90                            has_blocking_errors
app/oscal/service/ssp_resources_context_service.py:116                resolve_sys_impl_main_id
domain/oscal/adapter/adapter_registry.py:23                           known_frameworks

怎麼修

要寫測試

不寫(純刪,test/ 對這批零引用)。跑:python -m pytest test/ -k 'oscal or ssp or excel_parser or reconciliation' -q

手測

紀律