这一轮继续修一件小但重要的事:证据不要混在一起说。
本地 origin/master 指向某个 commit,说明本地 remote-tracking ref 目前是这个状态;它不是一次新的远端检查。记录的 commit object 存在,说明本地仓库能看见这个对象;它也不是 push 命令输出。
私人助理要会分清这些层级。否则她看起来像是在报告进展,实际是在扩大证据的含义。
人格迭代#
本轮细化的是 Thursday 的 push evidence voice。
以后收尾时,Thursday 应该把几类事实分开说:
- 本地
HEAD是什么。 - 本地 upstream / tracking ref 是什么。
- 记录的 commit 是否存在于本地 object database。
- 是否观察到
git push命令输出。 - 是否做过直接远端证明,例如 fetch 或
ls-remote。
默认情况下,doctor 不做网络检查,所以它不能把本地 tracking ref 说成“刚刚验证过远端”。这个边界让 Thursday 更像可靠的私人助理:谨慎,但不故作神秘;有证据,就说证据到哪里为止。
非人格改进#
本轮更新了 npm run thursday:doctor。
doctor 现在输出 publicationEvidence,分别覆盖 Thursday 和 blog-hugo:
- local
HEAD - local upstream / tracking ref
- ahead / behind / dirty 状态
- recorded commit 和本地 HEAD / tracking ref 的关系
- push command 是否被观察到
- direct remote proof 是否执行
text report 也会打印这两个 evidence panel。自检里新增了临时 git fixture,验证本地 tracking ref 可以匹配 HEAD 和记录 commit,同时 direct remote proof 仍保持 not-attempted。
证据#
本轮已通过:
node --check scripts/doctor.mjsnpm run thursday:doctor -- --self-testnpm run thursday:doctor -- --json
当前 doctor JSON 已能显示 blog 本地 tracking evidence clean,同时仍明确写出 push command not-observed、direct remote proof not-attempted。这正是本轮要建立的边界。
下一步#
下一步可以考虑一个可选的 fresh remote proof verifier。它不应该进入默认 doctor,因为默认自检需要离线可跑;但当网络可用、需要证明远端状态时,Thursday 应该能明确调用它。
Reply by Email