Introduction

00 导读 这本书做了什么、没做什么、以及怎么核对它

正文 21 章 引用 全部锚定到 ac4ac9e 校验 4 道门禁 + mutation test
§1 为什么写这本

上游已经有 32945 行 markdown 了

earendil-works/pi 自带 97 个 markdown 文件、共 32945 行文档,写得比多数开源项目都好。所以本书不复述文档。它的全部价值来自三件文档做不到的事:

一句话预告全书最重要的发现:那份 3437 行的 durable harness 设计文档描述的执行器,在锚定版本上有 22 个方法直接抛错,且没有任何生产代码路径构造它。真正在跑的是另一个循环。判定过程见 第 08 章。

锚点之后这个发现只对锚点版本 ac4ac9e 成立。上游此后先把大部分抛错方法实现了,却没有接进默认 CLI;随后 7fd478a(2026-10-01)把整个 AgentHarness 从 pi-agent-core 删除,随 v1.0.0 发布。默认 CLI 仍然走 new Agent。本书没有换锚点,变化记在 第 08 章追记。

§2 实现状态标记

三种徽章,每章头部一个

徽章含义判定方式
已发布该章描述的代码在 HEAD 上被 packages/coding-agent 实际执行从生产入口的构造点追调用链
部分落地类型/接口/测试已存在,但主要操作路径仍抛错或未接线指出抛错点或未接线证据
仅设计文档只存在于 docs/*.md,代码中无对应实现grep 无实现

每个徽章在 data/status.json 里有对应条目,含 path:line 证据;校验器会核对页面徽章文案与该文件一致,且每条证据指向的行确实包含预期内容。徽章不是印象,是可核对的判定。

§3 怎么核对本书

锚定版本

本书锚定的上游版本固定不变
repo:  https://github.com/earendil-works/pi
SHA:   ac4ac9eaf69f2b01ca3af984a5c48f3b99b84278
date:  2026-08-07
速度:  约 428 commits/月
以每月 428 次提交的速度,不锚定 SHA 的行号引用在一周内就会失效。本书全部 ↪ path:line 链接都指向该 SHA 的 blob,点开即是当时的原文。

三张辅助页

两种代码块,标签不同

标签含义
原文 L582–L584逐字摘自该行区间。可能并置多个不连续区间(会写明)
改写自 L167–L274为讲解压缩过:合并行、省略参数。脚注会说明改了什么

这个区分是硬性的。本书的前提是「我们读代码」,把改写过的块标成「节选」是唯一不可犯的错。

§4 不覆盖什么
§5 怎么读
你是…建议路线
想造自己的 agent harness03 → 04 → 05 → 06 → 07 → 20
在评估要不要依赖 pi08(实现状态)→ 15(安全模型)→ 20 §4(未结算的赌注)
关心 agent 时代的 OSS 治理17 → 18 → 19
只有 20 分钟第 20 章,然后按它的交叉引用回头看

每章的 §1 一句话心智模型 都是自足的——只读全书 21 个 §1,也能得到一幅完整但粗颗粒的图。

基于 earendil-works/pi @ ac4ac9e(2026-08-07 快照)。
本书与 pi 项目无关联,是独立的第三方解读。