任务:没有槽位的条目不把空槽位交给核对产物的检查
整份不受理时,被排除的条目已经不再跑检查(任务 hub-exclude-fix,ac1be54)。修这件时终端报了同一类问题的另一半:受理的提交里,条目声明跳过或者没有覆盖时,没有槽位,核对待判定产物(judges: artifact_under_verification)的检查照样会拿到空槽位。包的检查函数于是报出“槽位数据不是对象”“bucket 不是字符串”这类驳回。这样的驳回指向的是模型没有交、也不该交的东西:它可能进修正说明、计修复轮,让模型去改一个它已经声明跳过的条目。
- 分支和工作树:
hub-empty-slots,目录circle-hub-empty-slots(依赖已装好) - 可以改的路径:
hub/runs/engine/**和对应的测试、README。别的路径不动;合约缺什么先回报。 - 规则:同前(不推送、不建 PR、不发布、不部署;不碰 7420、钥匙串、环境配置文件和任何真实系统;测试只用合成数据;
git commit -s)。 - 验证:
npx tsc --noEmit;node --test --test-concurrency=1对hub/runs/**、packs/**。
要做的
- 先查清现状,照实回报:受理的提交里,条目的处理是跳过(
skipped)和未覆盖(not_covered)时,核对待判定产物的检查是不是真的拿到空槽位,有没有驳回进修正说明、有没有计修复轮、条目最后进哪个分区。用合成包分别钉住这几种情况。 - 按模型(V05 分区、W02 修复、W07 覆盖)定改法,原则:没有待判定产物,就没有对它的判定。
- 跳过的条目,核对产物的要求项记“声明跳过”(已有的原因,W07 R[2]);
- 未覆盖的记“未覆盖”;
- 都不跑那些检查,不出驳回,空产物检查也不再造成修复轮。
覆盖的记账照模型办:W07 R[3] 规定提交未覆盖的条目在 errors 里点名、计入修复轮数,这一条不改(10-23 更正:本页原来写“不计修复轮”,和模型不符)。
只核对评审对象本身的检查(例如脑图结构)不受影响,照常跑。
- 改法和模型的读法写进引擎 README;如果哪个包依赖现在的行为(例如对空槽位返回“已声明跳过”的支持),在任务结果里列出来,包的改动另开任务,这件不改包。
- 测试:每种情况都有正例和反例,并且覆盖一个条目跳过、另一个正常的混合提交。
完成后在终端里回报:提交号、测试数量、没做完或拿不准的地方。