Repository navigation
v2.1.1 — 退回通知送达修复与文档一致性
2.1.1 — 2026-11-06
修复 2.1.0 的三处「说到了但没做到」:格式退回通知在续跑时送不到部门人员、中文 README 的安装命令仍指旧版本、安全文档里有一句「当前 1.12.0」的错误陈述。
一、退回通知为什么没送到(根因与修复)
2.1.0 把退回原因写进了状态行,但续跑顺序错了:再次派发时 dispatchPlan 先调用 resetBlockedStatuses,把受阻行连同 blockedKind / error 一起清成待跑;executeSubtask 随后才去读「上次是不是格式退回」,信息已被清掉。实测两次激活的提示词长度完全相同(4374 字符),子 Agent 只能把同样的格式错误再交一遍。
修复 src/runtime.ts:
dispatchPlan在resetBlockedStatuses之前扫出blockedKind === 'comm-format'的行,把退回原因抄进本轮的record.commFormatRejections;executeSubtask在行内信息已被清掉时改读这份记录,作为COMM_FORMAT_REJECTED的上次失败原因带进子提示词;- 消费一次即删,不会被后续无关重试重复带上。
修复后实测:第 2 次激活的提示词多出「上一次尝试失败」段,含失败类型与逐条不合规项(4374 → 4584 字符)。
二、另外两处修正
README.zh.md:72安装命令仍是dsh-workplan@1.12.3(同文件徽章已是新版本)→ 改为2.1.1。docs/cc/AGD-OPS-SECURE-OPERATION.md安装校验步骤里的「当前 1.12.0」→ 改为版本中立表述,并在文首补一条带日期的版本说明(其余 1.12.0 是那次评估的历史快照,不改写历史)。
三、验证
- 新增
tests/workplan-comm-format-e2e.test.ts(2 条):真实运行时 + 假子会话跑完整链路,并断言第 2 次激活提示词带「上一次尝试失败」段、COMM_FORMAT_REJECTED与逐条不合规项。 npm run check退出码 0。npm test:580 / 580 通过。
四、制品校验
- sha256
9db23eed0c22a8f38b7a2aeef892f1d8277d1469605cf5518577e634f3071d03 - sha1(与 npm registry 一致)
c9a8a627648477a28837583ca388a4f6f673fba4