产品作者的独立交叉审查:最终复验¶
结论:本报告限定范围内 PASS。已报问题由相应作者修正后重新核对;当前没有未解决的阻塞项。结论只覆盖 product-review-files.json 中 50 个输入文件,不覆盖本人编写的 03/08/09/10/12/15 六章,也不等于整仓安全审计或发布验收。
审阅日期为 2026-10-18。源码固定为 Pi 1.3.0 / 71023aec1546d6d677a65669c5665c0927ce0dd0,交付 revision 为 20261018-pi130。先前 main 的后续增量没有作为本版保证。初审报告 product-review-initial.md 保留原始问题,未将作者修改算作独立 PASS。
输入范围与图示覆盖¶
独立阅读全文并核对主线:17 份正文(index 加 01/02/04/05/06/07/11/13/14/16/17/18/19/20/21/22),以及 33 个 examples 文件(所有 src、test、研究包、README、package/lock、tsconfig、.gitignore)。完整路径与最终 SHA256 见 product-review-files.json。
| 章节 | 独立核查重点 | Mermaid |
|---|---|---|
| index、01 | 固定 release/main 区别、阅读路径与实验边界 | 0 |
| 02 | 模型建议与宿主执行/验收分工;Core/SDK/Durable 实际依赖 | 2 |
| 04 | transcript 重放、请求变换顺序、跨模型 thinking、完整 JSON 与 duration | 1 |
| 05 | awaited 事件、预检/执行、并行完成与历史排序、finishTurn/queue | 1 |
| 06 | SDK 装配、恢复 loadout、canonical projection、通知先于 append、settled | 2 |
| 07 | 分支/投影、context edit、磁盘 leaf、cut 配对、split 摘要顺序 | 3 |
| 11 | commit/adopt/publish、双 safe 恢复、nested ownership、generation、storage fatal | 2 |
| 13、14 | search/read/submit 主线,跟做、真实下一请求、恢复与副作用反例 | 0 |
| 16 | 故障分层与场景输出,测试通过与业务 accepted 分开 | 1 |
| 17 | 包关系、80 个阅读器路径与实际行数;不将清单当语义全审 | 0 |
| 18、19 | 独立审查/运行/交付区别,冻结与收据顺序;未执行部署 | 0 |
| 20 | 删除实验栈与 Chord 解耦、迁移语义、release 边界 | 0 |
| 21 | Env 所有权、request/connection、错误、取消、路径/权限 | 2 |
| 22 | principal 身份、激活依赖、state/result、reload 成败与退休边界 | 4 |
共 18 张图均逐张核对条件、顺序和边界。不是仅以 Mermaid 能渲染作为正确性证据。最终机械核对 113 条固定 SHA 的源码锚点,文件存在且行号范围有效;17 章 80 个阅读器表格的行数与固定源码一致。结构统计保存于 product-review-check.json。
已修复问题及复验依据¶
- 22.4 原图把 resources.open 与 references.ready 串行化。
packages/chord/src/object.ts:1192–1216实际并发并按资源 deps 等待;最终图已改为并发汇合。进一步补齐 allSettled 后才失败清理,以及 pendingCodeVersion-only 对象延迟启动 runtime 的限定(1095–1143)。引用也从错误位置移到 activation 入口。 - 04 的 transcript 与 validation 引用曾超出固定文件行数。现分别定位有效实现行 229、317,最终引用检查通过。
- 05 末尾曾指向不存在的
13-core-agent.md。现链接为实际../labs/13-core.md。 - 20.2 的实验栈移除链接曾落到下一节标题。现指向 coding-agent/CHANGELOG.md:109 的实际删除条目。
- 21.4 的“lost 错误”标签已精确为
unknown / lost:true,与 connection.ts 的断连错误表示一致,不虚构错误 code。 -
07.9 的图原来没有表达两次摘要请求的先后。按 compaction.ts:994–1033 补“历史完成或复用旧摘要后”才开始 turn-prefix,保留数据输入和合成关系。
-
终审增量中,core指出22.6背压计量不是原JSON字节。本审阅者继续追实际Link消费者:connection.ts:461–465直接累计
link.send(frame) ?? 0,579按窗口检查,587收到ack后减去;link.ts:252–263的MemoryLink返回字符串长度,401–405的WebSocket返回string.length或byteLength,329的IPC返回undefined。最终正文明确JSON为JavaScript字符串长度、packed二进制为字节长度(含打包后的压缩结果),不将变量名unackedBytes或注释泛化为所有网络真实字节。此修正已复验。 - 补读隐藏文件examples/.gitignore四条:node_modules/、.agent/、.sessions/、.checkpoints/,确认依赖与本机运行数据不应发布;已加入指纹,合计50项。此次仅文字/覆盖修正,没有重跑实验。
22.8 新增的 commit 抛错→Host terminal fail 也已复验,区别于提交之前 rollback;回滚资源恢复可能失败的文字保留。上述修正由章节作者完成,本审阅者随后回源码复验。
实际阅读源码的主要范围¶
下列是本次独立核查用到的实现段落,并非声称这些大文件所有分支都经过逐行审计:
- AI:utils/transcript 全文;api/transform-messages 的同/异模型、tool ID、缺失结果与 system 暂存;utils/event-stream 的完成计时;utils/json-parse 与 validation 的最终 argumentsError 路径。
- Core:agent-loop 的 runLoop、streamAssistantResponse、executeToolCalls、prepareToolCall 与结果合并;对照 awaited 事件、批次策略和 finishTurn。实际 examples 对顺序、钩子阻止、长度截断、预算均有独立执行。
- SDK:sdk.ts 恢复模型和工具选择;agent-session.ts prepareRequest(约 788 起)、内部事件处理(约 1104 起)、active tools 恢复和结束后的重试/settle;session-manager.ts 路径/投影(390–605)、持久化(1150–1225)、分支(1555–1625)以及相关 API;compaction.ts 切点、准备、split 摘要(约 420–500、802–938、970–1065),utils.ts:106 起序列化省略 thinking。
- Durable:harness/tool.ts call/execute、二次校验、结果通道、nested admission/settle;session/session.ts:690–790 的 commit/adopt/publish 与 1050–1081 的错误 guard;generation.ts checkpoint/prepare/request/partial/阈值压缩;submissions.ts admission 的 requestId 去重;context.ts baseline 与 leadWithSystem;provider.ts UUID;scheduler.ts ownership、bottom-up abort、registry snapshot、wait cycle;agent.ts tools/modelTools/callers;codemode/codemode.ts journal/fingerprint/replay 架构;JSONL storage commit marker/fsync 和 SQLite WAL/NORMAL。另读 harness-tools-recovery、harness-generation-recovery、harness-storage-failure 的相应回归测试,没有在此声称执行了这些上游 suite。
- Env:index、list-files、connection 的 request/session/connect/teardown;remote-env 的路径、文件、exec/cleanup;ssh 的参数、host key、eager/lazy 连接;protocol 说明与 watch 重连。并未做完整 Rust daemon 审计。
- Chord:host 的地址/principal/root/关闭;object activation/open/initCells/unwind;connection 的 link 身份、root admission、state 背压;reload 的 prepare/gate/migrate/rollback/commit 与退休;spec 已知限制。认证强度、真实多 Host 故障和热更新仍需另做运行验证。
独立执行结果¶
这些运行由审阅者实际发起,未沿用作者日志冒充独立执行;没有重新安装依赖,也没有使用真实模型凭据。
| 独立运行 | 结果 | 日志 |
|---|---|---|
npm run check |
退出 0 | product-review-check.log |
npm test |
35 pass,0 fail/cancelled/skipped | product-review-tests.log |
npm run demo |
3 turns、2 工具、7 消息 | product-review-cli/01-demo.log |
| happy / repair | 分别 4/5 turns,引用被接受 | product-review-cli/02–03 日志 |
| missing / forged / stale / budget | 正常场景结束,业务 incomplete | product-review-cli/04–07 日志 |
| wrong-claim | 真实引文仍接受错误 claim,明确仅引用完整性 | product-review-cli/08 日志 |
| checkpoint:sdk | 旧引文可见;恢复 read_note;显式覆盖 search_notes;新 receipts 空 | product-review-cli/09 日志 |
| checkpoint:projection | 全树 4、当前分支 3,压缩投影正确 | product-review-cli/10 日志 |
| checkpoint:boundaries | malformed execute=0;跨模型 thinking 丢弃;abort/timeout/实际 exit 断言通过 | product-review-cli/11 日志 |
| checkpoint:durable | 原 submission 恢复,默认副作用 1、错误 safe 声明重复为 2 | product-review-cli/12 日志 |
| checkpoint:env | 真实 daemon:读写、截断、argv、timeout、预取消、cwd 非沙箱 | product-review-env.log |
| checkpoint:chord | 真实两条 memory link:共享 store、不同 variant、坏参数/guest 写拒绝 | product-review-chord.log |
精确命令数组与退出码在 product-review-cli/commands.json。测试 runner 与单独命令都执行,是因为 worker unref 的独立命令生命周期不能只由 runner 通过推断。
另在临时副本执行两项跟做练习,复用已锁依赖,结束删除临时目录,未改作者 examples:
- 13.4 新增
pi-default-tools固定源码条目后运行检索词“默认工具范围”,确实 4 turns,并得到新来源 artifact;没有继续输出旧来源答案。 - 14.3 第三实例改为
tools: []并更新预期,恢复结果仍有 read_note,而显式覆盖为零工具;实际下一请求验证通过。
两项练习与临时副本 TypeScript 检查都通过,日志为 product-review-cli/exercise-add-source.log、exercise-empty-tools.log、exercise-check.log。
结论限制¶
没有实跑付费 provider、真实 OAuth/MCP、SSH 服务、WebSocket 公网认证、多 Host reload/reconnect、Bun 非中断 native builtin、Windows/macOS、强杀/断电/磁盘故障、多进程 storage writer 或上游全仓测试。close/reopen 不等同断电;真实 worker abort 不证明所有平台安全隔离;memory link 不证明网络认证。35 项测试不包含 claim 语义正确性的通用证明,wrong-claim 反例恰好说明该限制。
本报告未执行公网部署/浏览器下载验收;18/19 的发布收据入口是交付流程,需 root 的实际最终收据。生成的 complete-course、HTML、ZIP、源码阅读器复制字节不在本指纹清单,属于 artifact 检查。本人六章的作者修正与作者测试另在 product-author 记录,不纳入本报告独立结论。输入变化后必须重新审核受影响内容并更新指纹,不能无条件沿用此 PASS。