Skip to content

v2.1.1 — 退回通知送达修复与文档一致性

Choose a tag to compare

@abbaababa abbaababa released this 06 Nov 04:59
· 7 commits to main since this release

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:

  1. dispatchPlan 在 resetBlockedStatuses 之前扫出 blockedKind === 'comm-format' 的行,把退回原因抄进本轮的 record.commFormatRejections;
  2. executeSubtask 在行内信息已被清掉时改读这份记录,作为 COMM_FORMAT_REJECTED 的上次失败原因带进子提示词;
  3. 消费一次即删,不会被后续无关重试重复带上。

修复后实测:第 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