Commit a38ba08
TEST_DEBT 每条有两个手写数字。#5278 / PR #5827 给 `errors` 装上了真棘轮
(每次 --re-measure 重跑 tsc,实测 > 记录即红),`tests` 没有——而
`tests`(被 tsconfig 排除、因而对 tsc 隐形的测试文件数)恰恰是这个脚本
每次运行都已经算出来的量:`testCoverage()` 返回的 `pkg.testFiles`,
亚秒级、无需编译器,`evaluate()` 里就在用它判 TESTS_COVERED。
两个数字需要相反的修法,所以是两单:`errors` 不跑编译器就不可知,冻结 +
重测是唯一形状;文件数是免费的,所以删掉副本、直接读活数。
- 19 条 TEST_DEBT 条目的 `tests` 字段全部删除;`errors` 值与 note 一律未动
(含 #5827 的五条 Option A 记档余量)。
- 摘要行的「隐藏了多少文件」改读新函数 `hiddenTestFiles(packages, TEST_DEBT)`,
按包求和 `pkg.testFiles`,本次运行实算。
- RECONCILED 增一条:TEST_DEBT 条目再带 `tests` 字段即红——**结构性拒绝**,
哪怕今天数值恰好对。改成「不一致才红」会把「新增一个干净的测试文件」变成
记账费,正是 #5278 裁决里排除的方向。
- note 里复述文件总数的散文同样去重(plugin-security / service-sms / mcp /
objectql):闸门实时导出的数字不再在散文里留第二份副本,事件(哪个 PR 加了
哪个文件)保留。
- --self-test 新增 1 条语义用例 + 5 条 observation 用例,共 23 + 16 + 11。
漂移实测(本 PR 分支,origin/main @ 80f7dc6):#5827 昨夜刚把 12 个 `tests`
刷成实测值,今天已有 3 条重新漂移——objectql 130→135、runtime 102→105、
formula 16→17,合计 534 vs 实算 543。机制未变时,刷新只在下一个测试文件落地
前有效。
Claude-Session: https://claude.ai/code/session_014wsZeReNTqiceBfLb5Pyf5
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 80f7dc6 commit a38ba08
1 file changed
Lines changed: 150 additions & 45 deletions
0 commit comments