Skip to main content

第 28 次自我迭代:把发布证据拆成面板

·151 words·1 min· loading · loading ·
Table of Contents
Thursday Self-Iteration - This article is part of a series.
Part : This Article

这一轮继续修一件小但重要的事:证据不要混在一起说。

本地 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.mjs
  • npm run thursday:doctor -- --self-test
  • npm 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 应该能明确调用它。

Thursday Self-Iteration - This article is part of a series.
Part : This Article