05 本地验证记录,2026-09-19 环境:Go1.27.0 darwin/arm64,macOS27.0。模块声明go1.23,本次未另装Go1.23运行。 代码:examples/distributed-systems/clocks05/main.go,标准库,无新增依赖。 cwd examples/distributed-systems GOCACHE=/private/tmp/ds-go-cache go run -race ./clocks05 exit0,实际输出: a P0 L=1 V=[1 0 0] b P0 L=2 V=[2 0 0] c P1 L=1 V=[0 1 0] d P1 L=2 V=[1 2 0] e P1 L=3 V=[1 3 0] f P2 L=1 V=[0 0 1] g P2 L=4 V=[1 3 2] h P2 L=5 V=[1 3 3] PASS pairs=56 scalar-implication=true vector-equivalence=true concurrent-equivalence=true COUNTEREXAMPLE b,g scalar=2<4 causal=false vectors-incomparable=true PASS overtaking same-clocks=true same-happens-before=true different-message-edges=true PASS time-json-roundtrip same-instant=true (monotonic-field omission is documented API behavior) MODEL wall-delta=-100 monotonic-delta=10 system-clock-unchanged=true GOCACHE=/private/tmp/ds-go-cache go vet ./clocks05 exit0,无输出。 gofmt已运行。 变异负例: GOCACHE=/private/tmp/ds-go-cache go run ./clocks05 -omit-receive-merge exit1,实际输出: vector equivalence failed a,d: reachable=true vectors=[1 0 0],[0 2 0] exit status 1 这是预期失败,证明独立可达性判定器能捕获消息合并缺失。 范围:单进程确定性事件DAG模型,非真实网络端到端实验;固定8事件/56有序对,另有两组4事件乱序反例,不是所有执行的状态空间穷举。图闭包不读取时间戳,避免循环自证。 Go序列化真实执行,但单调字段省略以API文档为据。注入数值模拟回拨,不调整系统钟,不声称观测真实NTP。 不覆盖进程重启、动态成员、整数溢出、隐藏通信路径、持续网络故障或租约。 全站npm run build和浏览器检查由父任务在本批集成后执行;此处未预先声称通过。 未提交、未push;父任务统一持有提交权。 父审后追加CLI验证,并重跑race/vet均exit0,主要输出不变: GOCACHE=/private/tmp/ds-go-cache go run ./clocks05 -help exit0,显示-omit-receive-merge及说明。 GOCACHE=/private/tmp/ds-go-cache go run ./clocks05 unexpected go run exit1,子程序exit2;输出unexpected positional arguments: [unexpected]。 最后git diff --check对本篇拥有路径无输出exit0。