本卡屬 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
docs/features/FR-092-2609-dead-code-cleanup/scan-dead-members.md 對應檔案段落,逐條到該行(vulture 行號是 decorator 那行,def 在其下)刪整個定義區塊(含 decorator 與 docstring)。domain/oscal/service/reconciliation/ssp_entity_orchestrator.py 與 system_characteristic_reconciler.py,_normalizers.py 留著;本卡只刪它三支函式,刪前確認第 1 棒已 commit,避免同檔衝突。oscal_framework.py 四支 *Schema 是 v1 殘骸,與第 1 棒 api/oscal/serializers/{ap,ar,base,catalog,profile}/ 同性質;確認 api/oscal/serializers/__init__.py 的 re-export 沒有指到它們(第 1 棒可能已拔)。__all__、同檔別的方法呼叫);有就一起處理。docs/api/*/api-spec.md 與 docs/system-design/scripts/generate_*.py 若提到被刪的名字,屬描述性引用,順手拔該行/該列,同一 commit。不寫(純刪,test/ 對這批零引用)。跑:python -m pytest test/ -k 'oscal or ssp or excel_parser or reconciliation' -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。不跑全量。