diff --git a/doc/plans/2026-10-02-pi-production-readiness.md b/doc/plans/2026-10-02-pi-production-readiness.md index 511f65e34ba..57e40ba81fa 100644 --- a/doc/plans/2026-10-02-pi-production-readiness.md +++ b/doc/plans/2026-10-02-pi-production-readiness.md @@ -34,6 +34,18 @@ still confirmed live on their original handle; do not stop or duplicate them. The missing-LF memory failure and finish-task stream timeout still need a proven correction. Production remains held. +The first birth-reader build at `9fdcefcc3` passes full build, recursive +typecheck and harness typecheck, and all 18 packages are repacked. Its normal ARM +install and Pi setup pass, but offline admission fails because the server imports +the private Runner package instead of its bundled vendor boundary. The browser +CI shards and company-import test show the same missing-module error. Those +failed receipts and image remain preserved and supply no qualification evidence. +The follow-up routes the import through the existing vendor shim and mirrors the +compiled Runner export there. All 39 hot-restart and native-recovery tests pass +with that correction. Rebuild the artifacts from this follow-up before admission. +The exact nine Linux birth-reader tests also pass on Linux without skips or +provider calls. Latest provisional key usage is $0.358793129 with zero BYOK usage. + ## Previous frozen-set measurements — 2026-10-06 The rebuilt `7f66a30ad` package/image set has Product **1/26** and Runner diff --git a/server/src/services/hot-restart.ts b/server/src/services/hot-restart.ts index a0406c553ee..1d8e7adfb0f 100644 --- a/server/src/services/hot-restart.ts +++ b/server/src/services/hot-restart.ts @@ -1,7 +1,7 @@ import { execFile } from "node:child_process"; import fs from "node:fs/promises"; import path from "node:path"; -import { readLinuxProcessStartedAt, type LinuxProcessStartOptions } from "@paperclipai/paperclip-runner"; +import { readLinuxProcessStartedAt, type LinuxProcessStartOptions } from "../vendor/paperclip-runner/index.js"; import { resolvePaperclipHomeDir, resolvePaperclipInstanceId, diff --git a/server/src/vendor/paperclip-runner/index.ts b/server/src/vendor/paperclip-runner/index.ts index 7fe8cd55585..74ed48fedc5 100644 --- a/server/src/vendor/paperclip-runner/index.ts +++ b/server/src/vendor/paperclip-runner/index.ts @@ -26,6 +26,7 @@ export type { ControlPlanePort, HarnessRuntimeRequestKind, HarnessRuntimeRequestResolution, + LinuxProcessStartOptions, NativeAcpxAgent, NativeAcpxPermissionMode, NativeCodexApprovalPolicy, @@ -74,6 +75,7 @@ export const DurablePrpControlPlane = runner.DurablePrpControlPlane; export const runnerCodexDynamicToolsFit = runner.runnerCodexDynamicToolsFit; export const inspectWarmRunTransition = runner.inspectWarmRunTransition; export const readRunnerdArtifactBinding = runner.readRunnerdArtifactBinding; +export const readLinuxProcessStartedAt = runner.readLinuxProcessStartedAt; export const NativeSessionCleanupQuarantinedError = runner.NativeSessionCleanupQuarantinedError; export const NativeSessionProtocolIntegrityError =