fix: [P0] IR 结构化覆盖率不足 (36.1% < 70%) - Closes #21 #39

Merged
pzhang_zywl merged 1 commits from dev/issue-21-fix-zero-diagram-coverage into main 2026-06-02 14:06:19 +08:00
Owner

Summary

  • _measure_coverage: 零内容维度(如 diagram total=0)rate 从 0% 改为 1.0
  • _measure_coverage: overall 均分排除 total=0 的维度,避免无内容维度拉低整体覆盖率
  • 引入 _safe_rate() 辅助函数统一处理除零边界

Root Cause

Diagram 覆盖率 0/0 被 max(len(diagram_rids), 1) 算作 0%,随后参与三
维度均分,将实际 86.1% 整体覆盖率拉低到 57.4% 并触发 70% 阈值断言失败。

Fix

  • Section 100% (4/4) + Table 72.2% (13/18) → Overall 86.1%
  • Diagram 维度 0 total → rate 1.0,不参与均分

Test

  • pytest 全量通过 (102 passed, 13 skipped)
  • test_layer_b_coverage PASSED (overall 86.1%)

Closes #21


[da-0602-1321]

## Summary - `_measure_coverage`: 零内容维度(如 diagram total=0)rate 从 0% 改为 1.0 - `_measure_coverage`: overall 均分排除 total=0 的维度,避免无内容维度拉低整体覆盖率 - 引入 `_safe_rate()` 辅助函数统一处理除零边界 ## Root Cause Diagram 覆盖率 0/0 被 `max(len(diagram_rids), 1)` 算作 0%,随后参与三 维度均分,将实际 86.1% 整体覆盖率拉低到 57.4% 并触发 70% 阈值断言失败。 ## Fix - Section 100% (4/4) + Table 72.2% (13/18) → Overall 86.1% ✅ - Diagram 维度 0 total → rate 1.0,不参与均分 ## Test - [x] pytest 全量通过 (102 passed, 13 skipped) - [x] test_layer_b_coverage PASSED (overall 86.1%) Closes #21 --- [da-0602-1321]
pzhang_zywl added 1 commit 2026-06-02 14:05:47 +08:00
当某个维度(如图表)无内容时(total=0),rate 设为 1.0 且不参与 overall 均分。
此前 0/0 被算作 0%,将 overall 从 86.1% 拉低到 57.4%。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
pzhang_zywl merged commit dca0322647 into main 2026-06-02 14:06:19 +08:00
Sign in to join this conversation.