每次会话结束前过一遍,确保仓库处于下一轮可以直接开工的状态。 agent 的收尾流程里也应当包含这些检查。
git add -A && git commit -m "..." && git push origin mainnpm run dev 能起在 8083,页面能打开npm run build 通过(不是"上次通过",是这次跑过)harness/progress.md 追加了本轮 session 记录feature_list.json 里
passing 的项都有 verification + evidence,没有假 passingin_progress(没有的话,下一个重点应写在进度日志里)blocked 的项写清了阻塞原因和需要的决策node harness/tools/validate-harness.mjs 退出码为 0harness/docs/exec-plans/,
而不是只存在于聊天、或工具自带的仓库外计划目录(~/.claude/plans/)active/ 移到 completed/,
并把状态头改成实际结果(未做的验证要显式写「未做」,不要含糊过去)。
校验器会检查这条,但别等它报错才做每次改动完成后就该更新记录,不要攒到会话结束。 一轮会话常含多次改动, 攒到最后必然漏记;更隐蔽的是已写下的描述会过期(真实发生过:一次改动没记, 记录里还留着后来被推翻的旧结论,下一轮会话读到的是错的)。
自查方法:比对文件修改时间。
# 若 harness 文件的修改时间早于其它源文件,很可能有改动没被记录
ls -lt --time-style=+%H:%M:%S CLAUDE.md harness/progress.md harness/feature_list.json \n src/components/api-chat-coordinator.ts | head
<scope> / <!-- POLICY_TABLE --> / <ref_links> / <question-cards>,
渲染组件(BusinessRecord / PolicyMatch / QuestionCard / ScopeContent)未被改写stream-message-coordinator.ts 仍未被改动 —— 它是保留的旧协议实现;确需改动需先说明理由http://192.168.2.23:8000 实测;
后端不可达时要在记录里写明"本轮只做了静态验证"| 现象 | 意味着 |
|---|---|
| "构建通过"但没跑过接口 | 只证明了能编译,没证明行为对 |
清单里 passing 却没有 evidence |
假 passing,必须降级 |
同一时间多个 in_progress |
违反了单功能纪律,收敛到一个 |
| 靠改写清单让状态变好看 | 掩盖未完成工作,比不写更糟 |
| 在坏的基础上继续叠新功能 | 先修基础状态 |