跳转至

Pi 1.3.0 labs author record

作者:v130_labs 子代理。此文件是作者实现与验证记录,不是独立复审;需由另一位 reviewer 检查。

范围:examples(root 作者单独负责 env/chord 两文件)、docs/labs/13-core.md、docs/labs/14-sdk.md、docs/16-troubleshooting.md。固定源码:71023aec1546d6d677a65669c5665c0927ce0dd0,目录 pi-1.3.0。下载 revision=20261018-pi130。

最终实现

  • 直接 Pi 包 pi-agent-core、pi-ai、pi-codemode、pi-coding-agent、pi-durable、pi-env 以及 chord 均精确 1.3.0;TypeBox 与上游对齐为1.3.27;更新 package-lock。研究包自身版本改为1.3.0。
  • 原7个 evidence 场景仍运行;真实源句已对照固定源码(agent-session.ts 778/794等;agent-loop.ts 275),sourceCommit更新。search预览、read本次收据、submit原句/版本验收保持;wrong-claim明确表示accepted只验证citation-integrity,不代表语义质量。
  • SDK checkpoint 使用真实JSONL文件,三个实例:happy后收窄工具为read_note并真正发请求保存;dispose/open新实例,省略tools恢复read_note;再次重开显式tools覆盖为search_notes。各项从实际Faux context读取tools声明。新workspace receipts为空、artifact为null,旧证据仍进入请求。
  • boundaries checkpoint 调用真实Pi JSON解析器+Core:片段JSON可预览但最终argumentsError拒绝execute;schema optional字段使{}本来合法,避免“失败只是schema本来不接受{}”的伪验证。
  • boundaries thinking使用公开transformMessages,构造同/异model转换并检查存储对象未变。它不是真实provider HTTP验证。
  • CodeMode使用真实QuickJS worker,abort和timeout两种路径;跟踪acquireWorker/onWorkerStarted真实exit/release;失败无storeWrites,宿主signal已abort;故意忽略signal的宿主函数在worker退出后才放gate,副作用仍完成一次,展示隔离与副作用边界。未修改Worker.prototype,未用假计时器。
  • Durable新增真实JSONL Harness,保存工具intent后执行外部文件append,再等待task context;close中断,重新open并resume原submission。default中断错误且外部append一次;replay:safe重跑、append两次。requestId去重输入不等于外部幂等。非幂等append被刻意标safe是反例,文档明确说明。没有coldread冒充resume、没有强杀/断电声明。
  • 新增durable.test.ts和v130-boundaries.test.ts;SDK既有test同时验证恢复/覆盖。最终35 tests通过。
  • 三章完全改写成任务、预测、执行、源码、改造、反例的教程;固定SHA与行范围已逐个本地检查存在。未改其他docs/scripts/mkdocs。

实际执行与原始日志

全部核心命令、cwd、退出码及日志文件在 labs-run/commands.json。日志为stdout/stderr原样合并;没有根据预期生成输出。安装为实际npm registry安装,未执行生命周期脚本。

最终有效结果:

命令 退出码 原始日志
npm install --package-lock-only --ignore-scripts 0 01-lock.log、02-lock-env.log
npm ci --ignore-scripts 0 03-npm-ci.log
npm run check(含root env/chord文件) 0 30-final-check.log
npm test 0,35/35通过 31-final-tests.log
npm run demo 0 11-demo.log
checkpoint happy/repair/missing/forged/stale/budget/wrong-claim 各0 12至18日志
npm run checkpoint:sdk 0 19-sdk.log
npm run checkpoint:projection 0 20-projection.log
npm run checkpoint:boundaries 0 32-final-boundaries.log
npm run checkpoint:durable 0 22-durable.log
npm run checkpoint:env 0 33-env.log(root实现)
npm run checkpoint:chord 0 34-chord.log(root实现)
evidence:real,无ANTHROPIC_API_KEY 1,预期前置失败 23-real-no-key.log
core,无ANTHROPIC_API_KEY 1,预期前置失败 24-core-no-key.log
sdk,无PI_LAB_CWD 1,预期前置失败 25-sdk-no-cwd.log
npm audit --json 0,total vulnerabilities=0 26-audit.log
npm ls --depth=0 0 27-direct-deps.log

环境版本与运行日期分别在node-version.txt/npm-version.txt/run-date.txt。npm audit报告metadata.dependencies.total=123(root包不计入此项);npm ci输出added123并audited124。审计是执行时依赖数据库事实,非永恒保证。

实现中真实失败与修复

  1. 初稿check退出2(05-check.log)和新增tests退出1(06-new-tests.log):Faux构造器不接受model/provider覆盖;Durable IDs为品牌number而非string;harness.submission需context且返回Promise;node:test callback不能返回结果对象。按本地源码/实际d.ts修正。07-check=0,08-new-tests 12/12=0。
  2. 完整35项之前的34-test运行通过(10-tests.log),但独立boundaries命令退出13(21-boundaries.log)。取消时worker被库unref,单纯await exit Promise不能保持Node CLI事件循环。28日志是在编辑路径误指导致补丁未应用时再次运行,仍退出13;保留原始失败。
  3. 在等待真实exit时设置有界10秒观察timer并finally清理;不是跳过exit检查。29独立CLI退出0,新增子进程CLI测试验证此路径,31最终35 tests通过,32再次独立运行退出0。
  4. 两次操作性cwd错误不影响实现:一次重定向指向错误的../research路径导致shell退出1且未执行npm check;一次Python编辑使用错误相对路径导致FileNotFoundError且未修改文件。随后都使用正确目录/绝对路径重做。上述检查失败日志没有被覆盖成成功。

未验证与禁止夸大的边界

  • 未使用真实模型凭据、未发收费API请求。Faux只替代模型,真实provider策略/质量/计费不在验证范围。
  • Durable验证graceful close/reopen的新Harness实例,不是新OS进程、SIGKILL、断电、跨主机或多写者。真实intent恢复不等于external exactly-once。
  • thinking验证公开转换函数,不是HTTP序列化全链路;malformed验证解析输出经Core,不是远程SSE采集。
  • CodeMode验证当前Node上的实际worker及宿主边界,不证明Bun非中断native builtin或所有平台的强隔离。
  • SDK资源隔离测试针对显式helper配置,cwd不是OS沙箱。新workspace为空是教学任务的设计,生产可另定义有效期。
  • wrong-claim被接受是刻意展示citation-only限制;没有把业务语义评测伪装为通过。

待独立复审检查:下载包是否包含新checkpoint与全部依赖;教程中的预期和CLI实际输出是否一致;1.3 Durable和SDK接口是否与章节11/21/22对齐;源码行锚语义是否准确;生产与离线验证边界是否清楚。