跳转至

Pi 1.3.0 独立源码与图示终审报告

终审结论:限定 PASS。

固定输入中的源码命题、设计解释、29 张 Mermaid 图示语义及关键实验代码的静态审查通过。初审发现的第 15.5 节取消时序图问题,经本轮重新追读固定源码消费链,确认修复,正式关闭。

本结论绑定下述 56 文件 canonical digest,不代表测试执行、构建产物、线上服务或公网部署验收通过。

一、固定版本、范围与指纹核验

源码固定为:

71023aec1546d6d677a65669c5665c0927ce0dd0(Pi 1.3.0)

本轮重新检查 HEAD 与工作树,版本一致,工作树无修改。审查未读取其他作者或审查者的结论,没有修改项目、启动子 agent 或调用真实付费服务。

输入核验没有直接采用清单给出的摘要:先独立枚举当前正文与 examples 文件,再读取每个文件的实际字节计算 SHA256,最后与输入清单逐项比较。

核验项 结果
Primary docs 23 文件:index 与 01–22
Examples 33 文件,包含 .gitignore
总数 56 文件
实际存在但清单遗漏 0
清单列出但实际缺失 0
逐文件 SHA256 不匹配 0
canonical digest 与清单不匹配 0
收尾再次枚举、计算 完全一致

排除了 node_modules、.checkpoints、.sessions、.agent 和生成 artifacts;正文排除了 appendix、assets、complete-course。

最终检查时间:2026-10-18 18:04:59 +08:00(Asia/Shanghai)。

Canonical 对象是完整的“相对路径 → 文件 SHA256”映射,即清单中的 files 对象,不包含外层摘要字段。计算方式为:

hashlib.sha256(
    json.dumps(files, sort_keys=True, separators=(',', ':')).encode('utf-8')
).hexdigest()

不追加换行。实际重新计算的结果为:

a45ae9eaa299bc7b11b2c88bc1958cd45ff0c4efdc90dbcd951a962ea9632311

与初审最终快照对比:

  • 23 个正文文件的排序指纹清单仍为
    d58b3534d050799d07f1cdd0344dee0b9c92a5f71b89b9d6119f1dd94016420a。
  • 初审已绑定的 31 个 examples 文件清单仍为
    efbc28ca5b06fcbb6054025f16480ddd6058569422dfcf6e552ec9ff2d2df520。
  • 因而上述既有输入没有变化;本轮补充覆盖 .gitignore、README,并补读研究包配置、模板、skill 和 TypeScript 配置,核对 package 与 lock 中的相关依赖声明。

.gitignore 实际内容为忽略 node_modules/、.agent/、.sessions/、.checkpoints/。这属于版本控制排除规则,不被当作权限隔离或发布打包保证。

二、真实问题的修正复验

R1:第 15.5 节取消图顺序及信号接收实体不准确。

  • 位置:docs/labs/15-production.md,Mermaid #2。
  • 初审严重性:低,图示语义错误。
  • 终审状态:已修复,关闭。

旧图先画 worker 终止,再画外部服务取消,且容易把宿主调用收到 signal 理解为远端已取消。

本轮重新核对了完整消费关系:

  1. Execution.finish() 先标记 finished,随后对 pending 调用执行 pending.controller.abort()。
  2. 然后清空 pending 与待发送消息。
  3. channel 存在时调用 channel.stop(),该请求完成后结算逻辑结果。
  4. worker launcher 的 stop 设置共享中断标志,调用但不等待 worker.terminate(),随后 unref。
  5. worker 容量释放及退出观察分别挂在实际 exit 事件上。

证据:Execution.finish,410–447 行、worker launcher,30–73 行。

当前图已满足最小修正要求:

  • 限定 worker channel 已建立且尚未退出的取消路径;
  • 先 pending abort/clear,再 channel.stop;
  • 接收 signal 的实体为待处理宿主工具调用;
  • 用 par 分别表达逻辑 settled 与 actual exit,不承诺固定先后;
  • 明确 signal 不证明远端已取消,既有副作用可能继续完成。

当前文件 SHA256:

9e80076c63f92886904d0900f27ee995c415ef5e5e72be940764f8e9a94a907a

该 SHA 与初审最终观察一致,但本次关闭依据仍是重新阅读实现与图示,而非沿用先前 PASS。

三、逐章及全部 29 张图的终审范围

以下继承同一独立审查已经完成的全文与逐图阅读;本轮通过指纹确认正文未变,并再次专项复核第 15.5 节。图序号按文件内出现顺序计。

文件 章节结论 Mermaid 结论
docs/index.md PASS:范围与入口 无图
docs/01-version-roadmap.md PASS:版本与路线 无图
docs/02-design.md PASS:职责划分 #1 PASS:工具与验收链;#2 PASS:包关系
docs/03-usage.md PASS:使用与成功分层 #1 PASS:请求、验收、语义评审
docs/04-models-messages.md PASS:消息转换 #1 PASS:投影至 provider 的顺序
docs/source/05-agent-loop.md PASS:循环与事件 #1 PASS:事件等待、工具管线及结束顺序
docs/source/06-session.md PASS:SDK 装配与恢复 #1 PASS:装配及条件恢复;#2 PASS:通知、append 与 Core 继续时机
docs/source/07-context.md PASS:历史、投影与压缩 #1 PASS:分支;#2 PASS:投影;#3 PASS:顺序摘要与 system checkpoint
docs/source/08-tools-extensions.md PASS:校验、hook 与信任 #1 PASS:最终参数管线;#2 PASS:加载信任与执行策略
docs/source/09-mcp-codemode.md PASS:MCP 与 VM 边界 #1 PASS:宿主桥接;#2 PASS:授权后取消检查;#3 PASS:容量与 actual exit
docs/source/10-interfaces.md PASS:TUI、print、RPC #1 PASS:runtime 与界面;#2 PASS:监听、disposition 与业务结果
docs/source/11-durable.md PASS:提交、任务与恢复 #1 PASS:提交后发布;#2 PASS:intent 与双 safe 恢复
docs/labs/12-customize.md PASS:扩展与验收 #1 PASS:读取收据与提交
docs/labs/13-core.md PASS:实际 Core/Faux 路径 无图
docs/labs/14-sdk.md PASS:恢复与投影实验 无图
docs/labs/15-production.md PASS:产品边界 #1 PASS:身份与 ownership;#2 PASS:本轮重新核验并关闭 R1
docs/16-troubleshooting.md PASS:故障定位 #1 PASS:分层诊断
docs/17-source-map.md PASS:包关系与有限覆盖声明 无图
docs/18-validation.md PASS:验证层次 无图
docs/19-deployment.md PASS:交付流程解释 无图
docs/20-review-and-version-delta.md PASS:迁移与 release/main 区分 无图
docs/21-remote-env.md PASS:执行环境与连接所有权 #1 PASS:本地/远端职责;#2 PASS:请求、失联与不自动重放
docs/22-chord.md PASS:对象、身份与更新 #1 PASS:principal 与共享 Store;#2 PASS:activation;#3 PASS:结果非状态屏障;#4 PASS:gate、rollback 与 commit failure

合计:23 个正文文件、29/29 张 Mermaid 图通过限定语义审查。

四、源码命题与主要证据锚点

初审已将关键命题追到实现、调用或消费位置,并阅读相关回归测试。本轮未变化的内容保留这些独立核验结果。

主题 已核验边界及主要固定源码
消息转换与 JSON provider/api/model 判定;跨模型 thinking;最终 JSON 错误阻止执行。转换、最终解析、校验
Core 与 SDK prepare/schema/hook 顺序;Core awaited listeners 与 SDK public 通知不同;append 时机及工具恢复条件。工具预检、SDK 事件、active tools 恢复
历史与压缩 branch 不独立持久化导航光标;投影不改原记录;system/tools checkpoint 与顺序摘要。投影、压缩合成
MCP 与 RPC structuredContent 形状、issuer 校验、授权后取消闸门;handled/queued/started 不等于业务完成。MCP 结果、OAuth、dispatch、RPC
Durable 当前 Harness/Submission/task;先持久 intent 再执行;双 safe;Storage 成功后发布;phase snapshot 与嵌套重放。ToolTask、提交、调度、CodeMode 重放
Env cwd 非 sandbox;请求失联不自动重放;句柄、执行和 Connection 生命周期分别管理。Connection、执行取消
Chord principal/input identity、variant/contract、activation、hydration、root/codeVersion、gate、双版本及 commit failure;方法结果不是状态同步屏障。对象身份、activation、reload、commit failure

本轮补读的研究模板使用 ${1:-default},已直接核对固定版本的替换实现支持该语法;没有仅凭 shell 写法推定兼容。模板参数替换

五、静态实验覆盖

同一独立审查已阅读关键业务源码与七个实验测试文件,核对实际调用链和断言:

  • Core/Faux 与证据验收:后续请求消费实际 toolResult;read 收据属于宿主;accepted 只代表机械引用验收。
  • SDK:新实例恢复、实际下一次请求、active tools 恢复与显式覆盖;历史不会自动恢复业务 receipts。
  • Projection:分支、context edit、手写摘要与 system 状态;没有将其称为模型摘要质量验证或任务 resume。
  • Durable:新 Harness 重开相同存储,重新取得并等待原 submission;unsafe/safe 分支揭示外部效果重复风险。
  • CodeMode boundaries:最终 malformed JSON、thinking 转换、实际 worker 路径、退出观察及迟到宿主副作用。
  • Env:本机真实 daemon 和管道;不是 SSH 生产网络实验。
  • Chord:实际 Host/contract/state 与 memory link;不是实际网络部署验证。
  • 研究包及配置:扩展、模板、skill、脚本入口、TypeScript 配置与依赖声明相符。

本轮 package/lock 静态检查确认相关 Pi/Chord 依赖固定为 1.3.0。锁文件参与完整字节指纹,但这不构成所有传递依赖的源码或供应链审计。

六、未实测范围与结论限制

本轮没有安装依赖、运行实验或执行测试套件。上游测试与课程测试的阅读只用于理解断言及覆盖条件,不记作测试运行通过。

以下事项不属于本轮 PASS:

  • HTML、ZIP 等生成产物及其打包完整性;
  • 公网部署、链接可达性、浏览器视觉与 Mermaid 渲染兼容性;
  • 真实付费 provider、模型选择工具与回答质量;
  • SSH、OAuth、MCP 生产网络及真实断网恢复;
  • Bun 特定不可中断操作、其他 OS、PTY 与终端兼容;
  • kill、断电、磁盘故障、并发 writer、外部服务幂等与补偿;
  • 全仓逐行审计、全部 provider 分支或完整安全审计。

终审状态:PASS;R1 已关闭;当前限定范围内无未解决问题。 此结论仅适用于 canonical digest 为 a45ae9eaa299bc7b11b2c88bc1958cd45ff0c4efdc90dbcd951a962ea9632311 的 56 文件输入。任何后续内容变化均需重新绑定并按增量复验。