任务:回归范围和维护巡检只按命令定义的变化算
真实验收发现两处口径问题,根因相同:影响视图默认把手册里的“行为”条目的变化也算成变更。
- 跨版本线的一对构建:Hub 报出影响路径 105 条,独立脚本直接比两个构建的命令树只差 30 条;多出来的是两条版本线手册不同带来的行为条目变化。架构 6b 的验收是“the Hub’s diff of two builds equals a command-level diff computed by a separate script on the raw command trees”。
- 同一版本线内:一条新命令如果手册里早已写了说明,就被归成“修改”而不是“新增”。
决定 11 已经规定命令目录只取命令树生产器的“定义”条目,范围也应如此。影响视图本来就支持 changed=definition,不用改核心。
- 分支和工作树:
hub-scope-commands,目录circle-hub-scope-commands(依赖已装好) - 可以改的路径:
packs/workflow/regression-scope/**、packs/workflow/maintenance-sweep/**、scripts/real/accept/regression-scope*.ts、scripts/real/accept/maintenance-sweep*.ts(含测试、README、SKILL;两个包各升一个小版本并重新签)。别的路径不动;核心缺什么先回报。 - 先读:
AGENTS.md;contracts/src/views.ts开头的视图标识说明;两个包的workflow.json、投影和检查函数、SKILL、README;进度页决定 11、12。 - 规则:同前(不推送、不建 PR、不发布、不部署,不碰 7420、钥匙串、环境配置文件和任何真实系统;测试只用合成数据;
git commit -s,合并用git merge --signoff)。
要做的
- 范围只按定义条目的变化算:两个包要求影响视图带
changed=definition,绑定的视图标识没带时整次开始运行被拒,修正说明给出正确写法;SKILL 里的例子同步。变更种类(新增、删除、修改)因此只看命令定义。 - 手册行为的变化单列成线索:可选输入
behaviour(同一对构建的changed=behaviour视图),只在结论里另起一段写“手册说明有变化的命令 N 条(只作线索,不算进范围)”,最多列 5 条,其余写“另有 M 条”;不进范围,不影响任何计数。 - 用例数上限(现在超过 4000 例整次被拒)不变,修正说明里加一句:先看定义变化是否已经把范围缩小。
- 场景同步:
scripts/real/accept/regression-scope.ts和maintenance-sweep.ts的变更路径核对,按命令定义的差(独立脚本scripts/real/gold/里现有的命令树比较)逐条相等,并核对每条路径的变更种类。 - 两个包
production.test.ts里各有一个it.todo(“against the real knowledge reader once the product pack cases index is committed”):用例索引早已合并,把它们做成真测试:合成的产品包、两个构建的根和用例条目,经真实的知识读取器跑一次开始运行。 - 测试先写:没带
changed=definition被拒;手册早有说明的新命令归为“新增”;行为变化只出现在线索段、不进计数;线索超过 5 条时写“另有”。验证:npx tsc --noEmit;node --test --test-concurrency=2对两个包和scripts/real/**(数据库测试别和别的终端同时跑)。
完成后在终端里回报:提交号、测试数量、没做完或拿不准的地方。