独立源码与图示初审记录¶
结论:限定 PASS。
最终观察快照中的源码命题、设计解释、全部 Mermaid 图示语义及关键实验代码的静态审查通过。初读时确实发现第 15.5 节取消时序图错误;该文件随后被外部修改,我重新完整读取并直接对照固定源码,确认问题已修复。最终快照没有尚未解决的内容问题。
本结论不表示测试已全部运行、真实服务已验证或公网发布已完成,也不自动覆盖后续文件修改。
1. 审查基准与实际快照¶
- 固定源码:Pi 1.3.0,
71023aec1546d6d677a65669c5665c0927ce0dd0。检查时源码工作树无修改。 - 旧版
a7229ddc21810d6245105978033b7df645ecc2f7仅用于迁移对照。 - 检查时 main:
482c1381a00d8d00bc81697e4a980c593db6803e,确实比 release 多 30 commits;未将其后续 guard、report 等能力计入 release 保证。 - 全文范围:
docs/index.md与 01–22,共 23 个正文文件、3349 行、29 张 Mermaid 图。 - 排除 appendix、assets、complete-course;未打开作者报告或其他审查结论。
- 全程只读,没有修改项目、启动子 agent、调用收费模型或真实 OAuth 服务。
最后快照时间为 2026-10-18 18:00:00,Asia/Shanghai。
| 指纹对象 | SHA256 |
|---|---|
| 23 个正文文件的排序指纹清单 | d58b3534d050799d07f1cdd0344dee0b9c92a5f71b89b9d6119f1dd94016420a |
修复后的 docs/labs/15-production.md |
9e80076c63f92886904d0900f27ee995c415ef5e5e72be940764f8e9a94a907a |
正文清单指纹按相对路径排序,以每行 文件SHA256␠␠相对路径\n 拼接后计算 SHA256。这里只绑定上述正文快照;后续完整 56 文件绑定与增量复验另行进行,不把未逐项阅读的 hidden、lock 等文件算作已完成语义审计。
2. 曾发现的问题及修复复验¶
R1:取消时序图的顺序和信号接收实体不准确。严重性:低,图示语义错误。最终状态:已修复。
位置:docs/labs/15-production.md,15.5 节,Mermaid #2;初读版本第 81–89 行。
原图将顺序画为:
- 向 worker 请求终止;
- 向外部服务取消请求或传递 signal;
- 逻辑结果 settled。
固定源码的实际顺序是:
Execution.finish()对待处理宿主调用执行pending.controller.abort();- 清空 pending;
- 调用
channel.stop(); - stop 请求完成后结算逻辑结果。
直接收到 AbortSignal 的是宿主调用。是否进一步取消远端请求,取决于工具和 transport;不能由这一层直接推出远端已收到取消。Execution.finish,410–447 行
worker launcher 的 stop 设置中断标志并请求 terminate(),不等待 worker 实际退出;容量释放另挂在 exit 事件上。worker 生命周期,30–73 行
最小修法是调整两次动作的顺序,将信号接收者改为“待处理宿主工具调用”,明确图仅描述 CodeMode,并把逻辑结算与实际退出分开。
最终文件已落实这些修正。 我重新完整读取该章,确认新图限定了 channel 已建立的取消路径,正确表达 abort → stop,以及 settled 与 exit 的独立观察。旧图对应审查项为 FAIL;上述最终 SHA 对应项为 PASS。修复由外部完成,本审查未编辑文件。
另外,不能把 CodeMode 的提前结算推广为普通 Agent 工具的强制中断:Core 仍直接 await 工具执行,SDK abort() 还等待 idle。Core 工具执行、SDK abort
3. 逐章与全部 Mermaid 图矩阵¶
图序号按各文件内出现顺序计。下表每个图编号均已单独核对实体、分支、顺序和状态边界;“无图”表示该文件没有 Mermaid。
| 正文文件 | 章节结果 | 每张 Mermaid 的独立结果 |
|---|---|---|
docs/index.md |
PASS:课程入口与范围成立 | 无图 |
docs/01-version-roadmap.md |
PASS:版本、学习路线与范围区分正确 | 无图 |
docs/02-design.md |
PASS:模型、运行时、业务验收职责清楚 | #1 PASS:工具结果回送与验收链;#2 PASS:包依赖职责,Durable 为独立路径 |
docs/03-usage.md |
PASS:离线、真实请求与业务成功分层 | #1 PASS:provider 成功后仍须验收引用与结论 |
docs/04-models-messages.md |
PASS:消息规范化与跨模型转换准确 | #1 PASS:canonical projection → transform → convert → normalize → provider |
docs/source/05-agent-loop.md |
PASS:循环、事件等待、并行与终止条件准确 | #1 PASS:message_end 屏障、工具管线、finishTurn 与结束事件顺序 |
docs/source/06-session.md |
PASS:装配、恢复和 SDK 事件边界准确 | #1 PASS:工厂装配及条件恢复;#2 PASS:public 通知先于 append,内部 handler 完成后才继续 Core |
docs/source/07-context.md |
PASS:树、投影、编辑、压缩与持久化区分准确 | #1 PASS:已 append 的分支;#2 PASS:只读投影步骤;#3 PASS:历史摘要先于 turn-prefix,程序重放 system checkpoint |
docs/source/08-tools-extensions.md |
PASS:参数、hook、工具权限和代码加载边界准确 | #1 PASS:最终 JSON 错误仍经过 prepare 后被 validation 拒绝;#2 PASS:bootstrap trust 与执行期 policy 分层 |
docs/source/09-mcp-codemode.md |
PASS:MCP 数据、认证取消及 VM/宿主边界准确 | #1 PASS:宿主工具桥接;#2 PASS:刷新后检查取消,禁止迟到派发;#3 PASS:容量 2 与 actual exit 释放 |
docs/source/10-interfaces.md |
PASS:runtime、print、RPC 契约准确 | #1 PASS:会话与界面职责、替换生命周期;#2 PASS:先监听,区分 handled/queued/started,再查业务产物 |
docs/source/11-durable.md |
PASS:当前 Harness、任务、存储与恢复语义准确 | #1 PASS:Storage 成功后 adopt/publish;#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:新实例恢复、loadout、投影与 Durable 实验表述成立 | 无图 |
docs/labs/15-production.md |
PASS:以最终修复快照为准 | #1 PASS:应用身份与 ownership 设计;#2 PASS:修复后取消顺序、信号接收者及 settle/exit 分离正确 |
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 对象与共享 local Store;#2 PASS:依赖并发、hydration/init 与失败清理;#3 PASS:结果不是状态流屏障;#4 PASS:gate、提交前回滚、commit 失败终止 Host |
合计:29/29 张图在最终快照中 PASS。
第 17 章补表与第 18 章预计交付链接状态未被当作内容失败,也未据此宣称发布完成。
4. 关键命题复核与实际读源锚点¶
以下是主要实际读源路径,不是全仓逐行审计清单。
| 领域 | 独立核验结果与固定源码锚点 |
|---|---|
| 消息与最终 JSON | 跨模型判定确实比较 provider、api、model;最终参数失败保留错误证据,validation 先拒绝该错误,不能执行部分前缀。转换实现、最终解析、校验消费者 |
| Core 工具与事件 | 追读了循环、prepare/validate/before/execute/after、并行预检与结果排序,以及 Agent 状态更新后等待订阅者的实现。Core hook 改参后不会自动再校验。工具预检、Agent 事件消费 |
| SDK 与 active tools | 默认恢复、相对修改、显式覆盖的条件成立;SDK public listener 不等同 Core awaited subscriber,通知与 append 时机不能混同。SDK 装配、事件处理、恢复入口 |
| 历史与压缩 | branch 不独立持久化导航光标;projection 不改原记录;压缩保留有效 system/tools,split-turn 摘要按顺序生成。投影、持久化、split-turn |
| MCP | structuredContent 不能假定为对象;issuer 无法验证时拒绝;共享授权恢复后仍检查当前请求取消状态。结果映射、issuer/取消、dispatch 闸门 |
| CodeMode | 宿主工具不在 QuickJS 隔离内;失败不提交 storeWrites,却不回滚外部副作用。容量 2 属于 coding-agent 集成,释放以 actual exit 为准。集成与容量 |
| RPC | preflight 成功、输入被处理、排队和业务完成是不同状态;不能对 handled 一律等待新一轮 settled。prompt 分支 |
| Durable | 使用当前独立 Harness/Submission/task 模型;同 requestId/type 返回旧 admission;最终参数先持久化再 execute;恢复要求保存策略与当前策略均 safe。admission、ToolTask |
| Durable 提交与重放 | Storage 成功后才 adopt/publish;registry snapshot 在 phase 边界更新;CodeMode 从记录的起点与交付顺序重放,并按 key 重新附着子调用。提交线、phase 调度、CodeMode 恢复 |
| Env | cwd 是路径基点;失联不自动重放当前操作;旧句柄绑定旧 session;执行取消与进程清理、Connection 关闭分别管理。Connection、路径实现、daemon 执行取消 |
| Chord | principal、规范化 input、contract/variant 各司其职;activation 等资源、引用、hydration/init;root 关联 codeVersion;gate 前失败与 commit 自身失败不同;状态背压不阻塞方法结果。对象地址、activation、reload、commit 失败 |
有意义测试的阅读包括跨模型 thinking、最终 JSON、Core 并行完成顺序与 prepareRequest、active-tools 恢复矩阵、RPC dispositions、worker admission、OAuth 取消、Durable 双 safe/partial 恢复/存储失败/嵌套重放,以及 Env 取消和 Chord hydration、gate、双版本及状态背压。
例如,Durable 恢复测试实际区分保存策略和当前策略;Chord flow 测试在状态窗口阻塞时仍收到方法结果。这些是测试代码语义核验,不是本次运行通过声明。
5. 静态实验审查范围¶
已追读关键实验业务实现、入口和七个实验测试文件,重点核对实际调用及断言,而非采用其他报告的 PASS。
| 实验路径 | 静态核验结果 |
|---|---|
examples/src/offline.ts、tools.ts、evidence-agent.ts、evidence-tools.ts |
使用实际 Agent/Faux;后续响应消费实际 toolResult;收据由宿主管理;机械引用验收不能证明 claim 正确 |
examples/src/core-agent.ts、evidence-real.ts、turn-budget.ts |
真实 provider 入口与离线入口分开;轮次预算接实际 finishTurn;真实服务入口本次未运行 |
examples/src/sdk-checkpoint.ts、research-resources.ts、sdk-agent.ts |
新实例恢复后检查实际下一次请求与 loadout;业务 receipts 不随历史自动恢复;资源隔离有对应断言 |
examples/src/projection-checkpoint.ts |
手工构造分支、编辑和压缩投影;不冒充模型摘要质量或持久任务 resume |
examples/src/durable-checkpoint.ts |
新 Harness 重开同一 JSONL,重新取得并等待原 submission;unsafe/safe 分支检查外部效果次数;属于协作式 close/reopen |
examples/src/boundaries-checkpoint.ts |
最终 JSON 经真实 Core 拒绝执行;实际 worker 路径分别观察 abort/timeout、exit 和迟到宿主副作用 |
examples/src/env-checkpoint.ts |
实际本机 daemon 与管道,检查文件、列表边界、执行、超时、预取消和 cwd 外读取;没有冒充 SSH 验证 |
examples/src/chord-checkpoint.ts |
实际 Host/contract/state 与 memory link;检查 owner/guest、参数、variant 和状态条件;没有冒充真实网络 |
examples/pi-package/extensions/research.ts |
实际扩展注册和 hook 拦截;同进程扩展权限没有被包装成安全沙箱 |
6. 未测范围及结论限制¶
本次未重新安装依赖,未运行全套测试,也没有借用作者或其他审查者的执行结果。
未验证的范围包括:
- 真实模型选择工具、答案质量、计费及模型生成摘要质量;
- 真实 OAuth、MCP 服务、SSH 部署和网络故障恢复;
- Bun 特有不可中断 built-in、其他 OS、PTY 和终端视觉兼容;
- OS 强杀、断电、磁盘损坏/满、并发 writer、真实外部服务幂等;
- Mermaid 渲染器兼容性和浏览器视觉检查;
- 全仓每一行、全部 provider 分支、完整安全审计,以及后续待绑定的完整 56 文件集合。
初审最终判定为 PASS,限于上述最终快照的源码命题、设计解释、29 张图示语义与静态实验。 初读发现的取消图问题已保留记录并独立复验消除;公网发布和运行验收不在这一 PASS 内。