## 诊断流程样例 ### 输入 - `clean/lifecycle_sessions_v20.csv`:当前版本 session 明细 - `output/review_pages/商品域最终体系_生命周期映射_session复核_2026-05-09_v20.html`:复核页 - `output/生命周期汇总_标签拆列_2026-05-09_v20.xlsx`:汇总 Excel ### 命令 ```bash python scripts/audit_lifecycle_review_pack.py \ --version v20 \ --csv clean/lifecycle_sessions_v20.csv \ --html output/review_pages/商品域最终体系_生命周期映射_session复核_2026-05-09_v20.html \ --excel output/生命周期汇总_标签拆列_2026-05-09_v20.xlsx \ --out analysis/audits/v20_consistency_audit.json ``` ### 成功输出 ```json { "version": "v20", "csv_rows": 9335, "html_payload_rows": 9335, "excel_rows_basis": 9335, "remaining_mismatches": [], "blank_bucket_collisions": [], "status": "pass" } ``` ### 失败输出 ```json { "version": "v7", "status": "fail", "remaining_mismatches": [ { "parent": "价格相关", "parent_total": 447, "child_sum": 242, "missing_or_blank_child_count": 205, "likely_cause": "下一级标签为空,页面只展示非空子类" } ], "suggested_fix": "补齐互斥下一级标签,或显式落到 `其他` 子类后重新生成 HTML/Excel。" } ``` ### 人工判断规则 | 检查项 | 通过信号 | 失败信号 | 处理动作 | |---|---|---|---| | 明细总行数 | CSV、HTML payload、Excel 分母一致 | 任一来源少/多行 | 停止发布,追溯生成脚本输入 | | 父子加总 | 每个父桶 `parent_total = child_sum` | 子类加总小于或大于父类 | 查空子类、重复子类、多标签误用 | | 空值规范 | NaN、空字符串、未归类只有一种表示 | 出现两个空白行或重复空桶 | 统一 normalize 后重算汇总 | | 多标签口径 | 多标签统计只用于解释,不用于互斥页面加总 | 多标签行加总超过父类且未说明 | 增加 `主标签`/`主配置项` 字段 |