From 519e8369a107303758cfc6652a9dd85cdfb406a5 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 14 Oct 2026 12:27:23 -0500 Subject: [PATCH 1/2] fix(runner): align clean install probe with Pi profile digest Co-Authored-By: Paperclip --- scripts/pi-public-install-probe.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pi-public-install-probe.mjs b/scripts/pi-public-install-probe.mjs index c1a86aa3f4e..b7c6ef79614 100644 --- a/scripts/pi-public-install-probe.mjs +++ b/scripts/pi-public-install-probe.mjs @@ -53,7 +53,7 @@ const { resolvePaperclipRunnerBinary } = await import(pathToFileURL(join(server, const { createCapabilityRunnerdCodexTransport } = await import(pathToFileURL(join(server, 'dist/vendor/paperclip-runner/live/runnerd-codex-transport.js'))); const { QUALIFIED_ACPX_PROFILES } = await import(pathToFileURL(join(server, 'dist/vendor/paperclip-runner/drivers/acpx/qualified-profiles.js'))); assert.equal(QUALIFIED_ACPX_PROFILES.pi.agentProfileVersion, 25); -assert.equal(QUALIFIED_ACPX_PROFILES.pi.commandDigest, 'sha256:d25d674cda9a0853bdbf0521025099f1424c573d2f533630cb67d90e1bfcda3b'); +assert.equal(QUALIFIED_ACPX_PROFILES.pi.commandDigest, 'sha256:dd67387487dadb08da76534c057dc0aa059f7698d1779cbd5fc452813828167a'); assert.equal(Object.hasOwn(QUALIFIED_ACPX_PROFILES.pi, 'qualificationModel'), false); assert.equal(Object.hasOwn(QUALIFIED_ACPX_PROFILES.pi, 'reportedModelId'), false); const daemon = resolvePaperclipRunnerBinary(); From 7069077274aeaf05283942a30b67daa862594246 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 14 Oct 2026 12:27:49 -0500 Subject: [PATCH 2/2] docs: record hosted install correction and preview recovery gate Co-Authored-By: Paperclip --- doc/plans/2026-10-12-claude-runner-default.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/plans/2026-10-12-claude-runner-default.md b/doc/plans/2026-10-12-claude-runner-default.md index d164bd6c4b3..bfaf438fbdc 100644 --- a/doc/plans/2026-10-12-claude-runner-default.md +++ b/doc/plans/2026-10-12-claude-runner-default.md @@ -1237,3 +1237,21 @@ controls pass. Logs use /private/tmp/claude-adb69-* prefixes. No new rendering, paid model turn, budget read/resume, hold release or local native build ran. The local preview remains its separately recorded older treatment; this source composition is not a claim of current installed/runtime or task/revision proof. + + +### Hosted clean-install correction — 2026-10-14 + +The first reconciled hosted Build jobs (38605177149 and 38605182039) +failed in the credential-free Pi public-install probe: the generated profile25 +digest was dd673874…, while the probe retained d25d674c…. Protocol correction +519e8369a1 aligns that exact assertion with the immutable profile; all24 existing +public-install sandbox controls and profile generation checks pass locally. +The daemon, profile, admission checks and paid-provider behavior are unchanged. +The full clean consumer will rerun in hosted CI; no local Docker build ran. + +The earlier port3105 preview has been replaced by another test-drive +(source a6d81b67cb, separate github-review data directory). The report uploader +stopped on its404 target check before creating an attachment or work product. +That foreign instance is left untouched. Claude preview recovery must select +a separate port and the existing Claude data directory; the historical3105 +link is no longer a usable Claude preview.