Skip to content

test: 验证 Pi Durable 跨进程恢复并记录适配方案 - #49

Merged
ydflow merged 1 commit into
mainfrom
codex/pi-durable-feasibility
Nov 11, 2026
Merged

ydflow merged 1 commit into
mainfrom
codex/pi-durable-feasibility

Conversation

@ydflow

@ydflow ydflow commented Nov 11, 2026

Copy link
Copy Markdown
Owner

变更

推进 #10 的隔离实验阶段,新增 Pi Durable 1.5.2 两步只读任务 PoC、ADR 0002、兼容性与状态映射,以及三份验证记录。源码和 npm lock 的 SHA-256 随验证记录归档。

父进程在第一步结果提交、第二步读取完成后强制终止工作进程,再通过全新进程恢复同一任务。验证第一步只读取一次、未提交的第二步读取两次、已保存结果抵抗源文件变化,以及终态任务重开的一致性。

关联 #10。Electron 主进程、renderer、模型/工具接线与打包态验收继续在该 Issue 跟踪。

测试报告

环境为 Windows x64 10.0.26100、Bun 1.4.2、Node 24.19.0、npm 11.17.0、Electron 39.8.9 内置 Node 22.22.1。Trail 基线为 e695545,Pi Durable、pi-ai 和 chord 固定为 npm 1.5.2,完整依赖通过实验目录的 package-lock.json 固定。

npm ci --prefix scripts/experiments/pi-durable --ignore-scripts --no-audit --no-fund
# 93 packages installed,exit 0
node --check scripts/experiments/pi-durable/recovery.mjs
# exit 0
node scripts/experiments/pi-durable/recovery.mjs
bun scripts/experiments/pi-durable/recovery.mjs
# 各 1 个完整恢复实验通过,firstReads=1、secondReads=2

另通过 Node spawnSync 调用 apps/electron/node_modules/electron/dist/electron.exe,传入同一脚本和 ELECTRON_RUN_AS_NODE=1,1 个完整恢复实验通过。此项覆盖 Electron 内置 Node 的执行环境,桌面集成仍待验证。

bun test --isolate packages/shared/src/kernel/agent-kernel.test.ts packages/shared/src/kernel/run-manager.test.ts packages/shared/src/agent/pi-runtime-adapter.test.ts packages/shared/src/research/hard-kill.test.ts packages/shared/src/research/recovery.test.ts --timeout 20000
# 50 pass / 0 fail,205 expect(),5 files
bun run typecheck
# 现有工作区全部 exit 0

ADR 的 10 个本地相对链接、3 份验证 JSON 和依赖 integrity 已核对,git diff --check 通过。

验证范围

实验使用本地合成数据与独立临时目录。真实模型请求、注册工具、外部 API、预算/审批、Electron 主进程与 Windows 安装包待后续验收。#10 继续开放。

无可见 UI 变化。

本 PR 由 Codex 协助实现、验证和整理。

@ydflow
ydflow merged commit 6a4d764 into main Nov 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant