-
Data Governance Dev authored
国标分析改造两阶段,合并提交: 【阶段 1】拆分 + 新增 5 类分析对象 - STD-001 身份证 → IND-001-a/b/c/d (格式/校验位/出生日期/15位兼容) - STD-002 USCC → IND-002-a/b (格式/校验位) - STD-003 手机 → IND-003-a/b (格式/号段) - STD-004 区划 → IND-004-a/b (格式/编码存在) - 新增 IND-101 证件类型枚举(5 值) - 新增 IND-201~204 4 种证件号码(身份证/护照/港澳台居住证/外国人永居) - 新增 IND-301 跨字段 (证件类型+号码一致性) - 新增 IND-302 跨表 (证件唯一性,GROUP BY HAVING) - 新增 IND-401/402 姓名 (字符集/长度) - 新增 IND-501/502 出生日期 (格式/年龄范围, 性别推断退休年龄) - 新增 IND-601/602/603 区划/民族/婚姻 基础设施: - BaseStandard 加 group/severity/depends_on 类属性 + validate_rows() 默认实现 - registry.list_all_standards / list_standards_by_group - data_loader.py 惰性加载 data/*.json + extracted_standards.json - 新增 data/{id_type,marriage,gender,retirement_age}.json - 旧 STD-001~004 标 [已拆分], applies_to_fields=[] (保留兼容) 【阶段 2】每个 indicator 注册为独立 step - registry.py 新增 load_standard_class / indicator_step_id / step_id_to_indicator_id / list_step_ids 工具函数 - orchestrator.py 动态按 group 顺序注册 24 个 indicator step (国标字段规范=100, 证件信息=200, 身份信息=300, 民政信息=400) - step7_standards.py 新增 run_step7_for_indicator,每个 indicator 独立 section_key (standards_ind_XXX),独立 tab - 旧 run_step7() 保留 (向后兼容: 跑全部按 4 group 输出) 校验层: - IND-301 用 sample_field_pairs.sql - IND-302 用 sample_field_groups.sql - 84 单测覆盖所有 indicator (tests/test_indicators.py) 协议层: - 沿用上轮的 tab_protocol;每个 indicator 一个独立 tab (1 KPI 违规字段 + 1 KPI 检查字段 + 2 表: 指标汇总 + 违规明细) 详细工作记录见 docs/WORKLOG.md。5c37925e