did-it claim-evidence reconciliation
did-it claim-evidence reconciliation
ErickShepherd/did-it 是一个面向 Claude Code transcript 的 claim-vs-evidence reconciliation 工具。它检查 coding agent 在自然语言里说过的程序性声明——例如“我运行了测试并通过”“我创建了文件”“迁移已端到端跑完”——是否能被 session transcript 中的工具调用证据支持。
核心价值不是“再跑一个 LLM judge”,而是把 agent 的完成声明拆成可机械检查的 receipt:哪些被 transcript 支持,哪些无证据,哪些被失败输出直接反驳。
为什么对用户重要
这直接对应 Hermes 的一条底层要求:完成任务必须有真实工具输出,不能只给 plausible-looking summary。did-it 把这个原则产品化到 coding-agent transcript 层:agent 的口头完成声明不是完成;声明与证据之间的关系才是完成状态。
对 llm-wiki 维护也很重要。每日雷达可能声称“已读原文、已保存 raw、已更新 index、已重建向量索引”。这些声明都应该能被文件存在、hash、diff、命令输出或日志条目支持。did-it 提醒我们:自动化报告里最危险的不是失败,而是“无证据但听起来完成”。
机制 / 一阶原理
did-it 的 README 给出一个细粒度 verdict schema:
BACKED-transcript:声明发生时,transcript 内已有证据支持,例如测试框架的 green summary,且之后没有代码编辑破坏该证据。BACKED-verified:使用--verify <repo>重新执行声明中的测试命令并通过。UNSUPPORTED:没有找到支持证据;所有歧义默认进入这里,而不是武断指控。CONTRADICTED:有 temporally valid、verbatim 的失败标记反驳 pass claim;这是唯一带指控性的 verdict,门槛最高。NOT-CHECKABLE/NOT-EVALUABLE:语义声明或未知 transcript/schema 不能评估时失败关闭。
一阶原理是把自然语言报告转换成“声明—证据—时间”的关系图。验证不只问“有没有运行过测试”,还要问测试运行是否早于声明、声明之后是否又改了代码、失败标记是否直接反驳了 pass claim,以及证据来自 transcript 还是重新执行。
与已有 wiki 概念的关系
| - 相比 [[agentops-coding-agent-verification | AgentOps coding-agent verification membrane]],did-it 更窄:它不试图管理整个 repo-native ledger,而是专注 Claude Code transcript 的 claim reconciliation。 |
- 对 Harness-Engineering:补上了“完成后报告也需要 gate”的维度。很多 harness 关注 pre-call 或 test gate,但最终 summary 仍可能夸大。
- 对 Agent-Benchmarks:它给 benchmark/eval 工作提供了低成本审计工具。评测者不必手动逐条核对 agent 声明,可先用 deterministic receipts 缩小人工审查范围。
- 对 Agentic-Coding:它把验证循环从“agent 自己说测试通过”升级为“transcript/重新执行能否支持该声明”。
可执行启发
- Hermes 最终报告可以采用
BACKED / UNSUPPORTED / BLOCKED / FAILED风格,尤其在 cron、发布、代码修改和 wiki ingest 中区分证据状态。 - llm-wiki 的自我优化文章应记录关键完成声明对应的证据路径:raw 文件、source 页面、concept 更新、index/log、reindex 输出。
- 对 coding-agent transcript,可以优先接入这类 deterministic checker,再用 LLM 做解释性总结;不要反过来先让 LLM judge 替代证据。
- 对高风险任务,
UNSUPPORTED应被视为需要人工复核或重新验证,而不是默认通过。
失败模式 / 边界
- 范围窄:当前 README 主要面向 Claude Code transcript;其他 agent、subagent sidechain 或非标准日志可能无法评估。
- 语义修复难验证:工具能检查“是否运行测试/是否失败”,但“bug 是否真的修好”仍需要测试、review 或领域 oracle。
- 证据缺失不等于作假:
UNSUPPORTED是安全弃权,不应被等同于CONTRADICTED。 - transcript 可信性:如果 transcript 不完整、被篡改或缺少 side effects,receipt 也会失真;仍需要原始日志保全。
写入记录
- 2026-07-13 09:00 CST:新增 source 页面,归纳
did-it的 claim-evidence reconciliation、verdict schema 和对 Hermes 完成声明审计的启发。