Files
wuguanganandClaude Opus 5 b8520c3b14 fix: Claude 勾掉的框不算证据;一条 todo 里的多件事要拆开标注
两条都来自用户的观察,两条我都犯了自己一直在防的错误。

## 勾掉 ≠ 做完

先前把 Claude 勾了 completed 的 todo 直接记成 .confirmed(已验收),
理由是"勾状态是它边干边写进文件的,比嘴上说可信"。这个理由站不住 ——
它勾自己的框和它嘴上说"做完了"是同一性质的东西:都是声明,都没有外部证据。
拿它自己勾的框当证据,正是这整个功能存在的理由所要防的事。

改成落到 .claimed(待复核),证据记成 .claimed(...)(isProof = false),
由旁路复核拿真实 git diff 判 confirmed / disputed。
用户的原话:「他勾掉的到底有没有做」—— 只有 diff 能回答。

顺带补上 baselineCommit:缺了它复核只能拿未提交的改动去比,结论全是噪音。

## 一条 todo 里常常不止一件事

「批次2:设备自动连接(Android 地基修复→状态机→UI→iOS)」是四件。
整条勾掉时里面做了三件还是四件,从条目本身看不出来 ——
而漏掉的往往正是最后那件。

拆分是机械的(按 →、;+/ 等明确分隔符),不调模型:这一步要对每条 todo
都跑,而它要解决的问题很窄。切不出来的("深色模式双端"其实是 iOS+Android)
就不切 —— 切错比不切更糟,用户会对着一堆碎片然后不再相信这个标注。

界面上:行内直接显示「2/4 项」,展开逐项勾。藏在展开区里等于没标,
用户不会为了看有没有分项去逐条展开。

全部分项勾完**不自动**把整条标成已验收 —— 那等于绕过"拿 diff 核对"这一步。

修 bug:标题前缀门槛原来是 12 字,把「把整个权限体系重构一遍:改A、改B」
的前半句当标题剥掉了。中文里 11 个字是实打实的内容,压到 6 字。

411 个测试。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 22:51:03 +08:00
..