任务:维护巡检的结论文字要写出命令定义哪些字段变了
真实验收(2026-10-22,已部署的 Hub、真实 Circle 客户端)发现:被标为“命令已改”的用例,结论文字只写“所在命令的定义有变更(路径)。”,字段级的差异只在数据里(data.fields:路径、旧值、新值),而模型读到的回答和完整结果的文字里都没有数据,所以模型无法转述“改了什么”;规程第 3 条却写着“数据里按字段给出路径和两边的值”。独立依据(命令树差异)里这个命令确有字段差异。要让结论文字自己带上最重要的差异。
- 分支和工作树:
hub-sweep-diff,目录circle-hub-sweep-diff - 可以改的路径:
packs/workflow/maintenance-sweep/**(含测试、README、SKILL、pack.json重新签并升一个小版本)。别的路径不动。 - 先读:
AGENTS.md、packs/workflow/maintenance-sweep/functions/check.ts(commandUnchanged、flatFields)、sweep.ts(FieldDiff)、README、SKILL.md;scripts/real/accept/maintenance-sweep.ts(真实验收场景要在附近文字里找到的写法)。 - 规则:不推送、不建 PR;不发布、不部署,不碰 7420 上的持久部署、钥匙串、环境配置文件和任何真实系统;测试只用合成数据;提交只暂存明确的路径,
git commit -s,一句首字母大写的英文祈使句,不加前缀和句号,空一行后写你自己的署名行。
要做的
commandUnchanged的反驳结论文字在现有句子后面加一段:字段差异 N 处:<路径> 旧 <旧值> → 新 <新值>;…,最多写 3 处,其余写另有 M 处;一侧缺失(absent)写“旧值:无”或“新值:无”;值是对象或数组时用紧凑 JSON;每个值最多 60 个字符,超出的用省略号;整段文字最多 400 个字符(不够就少写几处,仍写另有 M 处)。多个命令路径都有变更的用例,按路径分别写(总共仍不超过 400 个字符)。命令已删除的结论(command_exists)不动。- 完整数据(
data.fields)保持不变,仍是全部差异。 - SKILL.md 和 README 的相应句子改成“结论文字写前 3 处字段差异,全部差异在数据里”;规程第 3 条同步(它是模型读到的)。
- 测试先写:一处差异、三处、五处(写 3 处加“另有 2 处”)、一侧缺失、长值被省略、对象值、多个路径;
data.fields仍是全部;文字里含字段差异和旧、新(真实验收场景用正则找这几个词)。 - 版本升一个小版本,重新签(
node packs/workflow/case-review/packaging.ts sign maintenance-sweep,先看现有用法),pack.test.ts的版本断言同步。 - 验证:
npx tsc --noEmit;node --test --test-concurrency=2 "packs/workflow/maintenance-sweep/**/*.test.ts"(别和别的终端的数据库测试同时跑:macOS 共享内存段只有 32 个)。
完成后在终端里回报:提交号、测试数量、没做完或拿不准的地方。