From 202d85e2e467ebdc8bfdb5625c68f7c984ed7d25 Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 28 Sep 2026 13:38:39 -0500 Subject: [PATCH] Retain Pi pack proof with the final credential launch boundary Co-Authored-By: Paperclip --- doc/architecture/runner-pi-capabilities.md | 21 ++- ...der-pack-proof.2e65b64d5.darwin-arm64.json | 149 ++++++++++++++++++ ...line-provider-pack-proof.darwin-arm64.json | 71 ++++----- 3 files changed, 194 insertions(+), 47 deletions(-) create mode 100644 packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.2e65b64d5.darwin-arm64.json diff --git a/doc/architecture/runner-pi-capabilities.md b/doc/architecture/runner-pi-capabilities.md index dc20f198784..66272592825 100644 --- a/doc/architecture/runner-pi-capabilities.md +++ b/doc/architecture/runner-pi-capabilities.md @@ -239,10 +239,11 @@ helper discards failed-attempt usage, so any retry or missing compaction receipt invalidates complete-turn token/cost totals instead of inventing complete coverage. The retained [macOS ARM64 provider-pack admission proof](../../packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.darwin-arm64.json) -records source `2e65b64d5a2148583109b8157d6e72f54f5ad29b`, after the Node -engine declaration and Pi v2 fixture corrections. It includes the assigned HTTPS -gateway repair and shared failed-turn receipt and credential-provenance fixes. Its manifest digest is -`sha256:7300b9c449c02b61d2f93ef765f371c277e39a58d04739c6c24dcf7939500701`. +records source `58511d79d9c4a1525d98e219d027654902b704e1`, after final-spawn +credential-marker preservation and direct candidate-admission gating. It includes +the Node engine, Pi v2 fixture, assigned HTTPS gateway, and failed-turn receipt +repairs. Its manifest digest is +`sha256:a9728fe4298a5eee00555382af01e85550820a294957caf2eba0c79bf33c4388`. The clean tracked-lock resolution matched Docker's reviewed `650e23d20e967bcfbfced888e131199b9a06e66a1ba4f64cfb68383b59def4a8` digest before a frozen install and pack build. The probe used the deployed generic @@ -250,11 +251,19 @@ installation registry and immutable snapshot. Every advertised capability was read and asserted from its actual initialize response. Session creation rejected the missing bound credential; no model prompt was submitted. The record contains no credentials or provider session IDs and records zero paid calls. It includes -focused verification, the full runner TypeScript suite (2,202 passed, 11 -skipped), and all 13 native-provider Rust tests. It precedes only this +128 targeted backend/environment/control-plane checks, 31 installed-distribution +checks, and 17 real/patched package checks at this source. The preceding full +runner TypeScript suite (2,202 passed, 11 skipped) and all 13 native-provider Rust +tests remain explicitly pinned to source `2e65b64d5`. It precedes only this evidence-retention/report commit. It proves no authenticated interaction, reported model ID, or Daytona qualification. +The [pre-launch-boundary proof](../../packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.2e65b64d5.darwin-arm64.json) +retains source `2e65b64d5a2148583109b8157d6e72f54f5ad29b` and manifest +`sha256:7300b9c449c02b61d2f93ef765f371c277e39a58d04739c6c24dcf7939500701`, +including the full runner suite and native-provider Rust results. It predates the +final runner environment allowlist and direct candidate-admission fixes. + The [pre-policy proof](../../packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.d039e1b7b.darwin-arm64.json) retains source `d039e1b7b072862b4c326ba7194dc42617fa5984` and manifest `sha256:5a47fc67b886c1e05d0f630ed89c1b9f5324610b649d1db020a3e036e36fc85d`, diff --git a/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.2e65b64d5.darwin-arm64.json b/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.2e65b64d5.darwin-arm64.json new file mode 100644 index 00000000000..37467da7e4d --- /dev/null +++ b/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.2e65b64d5.darwin-arm64.json @@ -0,0 +1,149 @@ +{ + "schema": "paperclip.pi-provider-pack-offline-proof.v1", + "recordedAt": "2026-09-28T18:27:26.822Z", + "classification": "offline_candidate_admission", + "source": { + "runnerRevision": "2e65b64d5a2148583109b8157d6e72f54f5ad29b", + "distDigest": "sha256:d46bb029974dd0707aed83050ecb527d5f2f1689393ded35c1d785d0c415c1b1", + "bridgeDigest": "sha256:3028ba0c1bc4f93cd899c2ebb5a7fc9b904de9706251d8fd681616a9cfc728f6", + "productionLockDigest": "sha256:650e23d20e967bcfbfced888e131199b9a06e66a1ba4f64cfb68383b59def4a8", + "note": "Built after the Node engine policy repair and Pi v2 fixture corrections, including the prior HTTPS, failed-turn receipt and credential-provenance fixes. This probe executed the deployed generic installation registry and immutable snapshot. Every capability field below was read and asserted from this actual initialize response. No prompt was sent." + }, + "environment": { + "platform": "darwin", + "architecture": "arm64", + "nodeVersion": "24.19.0", + "execution": "local macOS ARM64; immutable guarded provider snapshot", + "packageManager": "pnpm@9.15.4" + }, + "candidate": { + "agent": "pi", + "qualification": "pending", + "agentProfileVersion": 2, + "declaredModel": "openrouter/deepseek/deepseek-v4-flash-0731", + "reportedModelId": null, + "modelVerification": "not_performed_authentication_missing", + "wrapperVersion": "0.0.33", + "runtimeVersion": "0.84.2", + "profileDigest": "sha256:0f687e38cb3c607a01fab80f03e19bbbf5cb53a8afb1fc40d71f9ab54551cff1", + "closureDigest": "sha256:b30047dce9c4c25e1fbc88a1aa828690a6a11ebdc3f6fcc083875986eb2d9585", + "assetTreeDigest": "sha256:5c046265335d4a6924efcd207f837d5aa0e0fc3baa0bf6ea7059afe8d6ab3939", + "distributionManifestDigest": "sha256:406345b3b75d8aee399da886fbdf8566aaaa44ff29fe3462da21f0c29901aecd", + "wrapperDigest": "sha256:2eb201c3a931177490a8e18f4a8392f00cbcf21847e9cc171de528da5e253935", + "helperDigest": "sha256:4333d284ff06ab1195e49630041f0b03a486a92fc678100525ad107e0982dba1", + "extensionDigest": "sha256:0a2ca138d6d87a85498bd982ee64543ea8b14f2ecceded96cfc27b0836cc4254" + }, + "providerPack": { + "manifestDigest": "sha256:7300b9c449c02b61d2f93ef765f371c277e39a58d04739c6c24dcf7939500701", + "portableNodeDigest": "sha256:27db838bb204ef7c21df2931f5656e4c8fb32e6e947f363a402b49714d32b5b1", + "piNodeDigest": "sha256:27db838bb204ef7c21df2931f5656e4c8fb32e6e947f363a402b49714d32b5b1", + "acpxSidecarDigest": "sha256:a909a86d0c0697697ef9dc8922785648e84e25dd687653b7c7428c863db5856b" + }, + "observed": { + "closedSnapshotLaunch": true, + "acpInitialize": "passed", + "authMethods": [], + "capabilities": { + "version": 1, + "steering": true, + "queuedFollowUp": true, + "questions": [ + "select", + "confirm", + "input", + "editor" + ], + "nativePermissions": true, + "promptUsage": true, + "nativePlan": false, + "pendingRequestRecovery": "live-process-only" + }, + "sessionNew": "rejected_authentication_missing", + "expectedError": "Bind the configured OpenRouter API credential to this Paperclip runtime.", + "missingCredentialRejected": true, + "capabilityProvenance": "Read and asserted in full from this pack launch.", + "rpcMethods": [ + "initialize", + "session/new" + ] + }, + "usage": { + "providerCalls": 0, + "promptRequests": 0, + "paidProviderCalls": 0, + "credentials": "none", + "spentUsd": 0 + }, + "limitations": [ + "No provider authentication, model prompt, or reported currentModelId was verified.", + "Native tool execution, permissions, questions, and semantic MCP calls were not exercised by this pack-launch probe.", + "Linux x64, macOS x64, and Daytona execution were not exercised.", + "Production qualification remains pending." + ], + "verification": { + "sourceRevision": "2e65b64d5a2148583109b8157d6e72f54f5ad29b", + "resolvedSourceLockDigest": "sha256:650e23d20e967bcfbfced888e131199b9a06e66a1ba4f64cfb68383b59def4a8", + "lockResolution": "clean tracked input, full workspace resolution, matched reviewed Docker pin before frozen filtered install", + "nodeVersionPolicy": "passed", + "typescriptBuild": "passed", + "rustBinaryBuild": "passed", + "providerPackBuild": "passed", + "fullRunnerVitest": { + "filesPassed": 160, + "filesSkipped": 1, + "passed": 2202, + "failed": 0, + "skipped": 11, + "durationSeconds": 223.84, + "attachTransitionRunnerDigest": "sha256:66122cae0160bfa2655d64afb7c7b5c01aa5fa7bba8ad608c7ee768c14f51fec", + "note": "Used the matching foundation transition runner plus locally built Rust fake binaries. Optional installed-Pi test runs separately below." + }, + "nativeProviderRustTests": { + "passed": 13, + "failed": 0, + "ignored": 0 + }, + "vitest": { + "files": 4, + "passed": 31, + "failed": 0, + "maxWorkers": 1, + "hookTimeoutMs": 10000, + "actualDistributionInstallation": "enabled; current provider-pack assets" + }, + "nodeTests": { + "files": 3, + "passed": 17, + "failed": 0, + "skipped": 0, + "actualPackages": "fresh provider-pack assets" + }, + "verificationHistory": [ + { + "suite": "full runner Vitest before building this worktree Rust fixtures", + "passed": 2102, + "failed": 99, + "skipped": 12, + "failurePhase": "test setup", + "failure": "Three test files lacked required local Rust fake binaries. Built the binaries, then the complete suite passed as recorded above." + } + ], + "priorCi": { + "head": "ee75eab87a741adec31b82e658542d50232a3b7d", + "runId": 36462967091, + "correctedFindings": [ + "isolated distribution manifest missing required engines.node", + "TypeScript Pi candidate fixture retained pre-upgrade identity", + "Rust Pi controls fixture retained pre-upgrade identity" + ], + "infrastructure": "Four server shards reported runner shutdown and operation cancellation, with no test failure summaries; no shared server source change was made. Fresh-head CI must recheck them." + }, + "notRun": [ + "full repository typecheck, build, and tests for this provider branch", + "full Rust workspace test suite for this provider branch", + "credentialed model evaluation", + "Linux x64 or macOS x64 execution", + "Daytona deployment" + ] + } +} diff --git a/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.darwin-arm64.json b/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.darwin-arm64.json index 37467da7e4d..8819e06f70b 100644 --- a/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.darwin-arm64.json +++ b/packages/paperclip-runner/test-fixtures/pi-acp/offline-provider-pack-proof.darwin-arm64.json @@ -1,13 +1,13 @@ { "schema": "paperclip.pi-provider-pack-offline-proof.v1", - "recordedAt": "2026-09-28T18:27:26.822Z", + "recordedAt": "2026-09-28T18:38:17.647Z", "classification": "offline_candidate_admission", "source": { - "runnerRevision": "2e65b64d5a2148583109b8157d6e72f54f5ad29b", - "distDigest": "sha256:d46bb029974dd0707aed83050ecb527d5f2f1689393ded35c1d785d0c415c1b1", - "bridgeDigest": "sha256:3028ba0c1bc4f93cd899c2ebb5a7fc9b904de9706251d8fd681616a9cfc728f6", + "runnerRevision": "58511d79d9c4a1525d98e219d027654902b704e1", + "distDigest": "sha256:e465121951d5824d22b64d4d057a280493b5c01a9134ddec3bac1b1741422541", + "bridgeDigest": "sha256:4ef5ffcf16a3e7f8e975843d99dc568aed94ca1113e24bfd4174237d92d8ecca", "productionLockDigest": "sha256:650e23d20e967bcfbfced888e131199b9a06e66a1ba4f64cfb68383b59def4a8", - "note": "Built after the Node engine policy repair and Pi v2 fixture corrections, including the prior HTTPS, failed-turn receipt and credential-provenance fixes. This probe executed the deployed generic installation registry and immutable snapshot. Every capability field below was read and asserted from this actual initialize response. No prompt was sent." + "note": "Built after the final-spawn credential-marker preservation and direct candidate-admission fixes, including the Node engine policy, Pi v2 fixture, HTTPS and failed-turn receipt repairs. This probe executed the deployed generic installation registry and immutable snapshot. Every capability field below was read and asserted from this actual initialize response. No prompt was sent." }, "environment": { "platform": "darwin", @@ -34,7 +34,7 @@ "extensionDigest": "sha256:0a2ca138d6d87a85498bd982ee64543ea8b14f2ecceded96cfc27b0836cc4254" }, "providerPack": { - "manifestDigest": "sha256:7300b9c449c02b61d2f93ef765f371c277e39a58d04739c6c24dcf7939500701", + "manifestDigest": "sha256:a9728fe4298a5eee00555382af01e85550820a294957caf2eba0c79bf33c4388", "portableNodeDigest": "sha256:27db838bb204ef7c21df2931f5656e4c8fb32e6e947f363a402b49714d32b5b1", "piNodeDigest": "sha256:27db838bb204ef7c21df2931f5656e4c8fb32e6e947f363a402b49714d32b5b1", "acpxSidecarDigest": "sha256:a909a86d0c0697697ef9dc8922785648e84e25dd687653b7c7428c863db5856b" @@ -81,27 +81,16 @@ "Production qualification remains pending." ], "verification": { - "sourceRevision": "2e65b64d5a2148583109b8157d6e72f54f5ad29b", + "sourceRevision": "58511d79d9c4a1525d98e219d027654902b704e1", "resolvedSourceLockDigest": "sha256:650e23d20e967bcfbfced888e131199b9a06e66a1ba4f64cfb68383b59def4a8", "lockResolution": "clean tracked input, full workspace resolution, matched reviewed Docker pin before frozen filtered install", - "nodeVersionPolicy": "passed", "typescriptBuild": "passed", - "rustBinaryBuild": "passed", "providerPackBuild": "passed", - "fullRunnerVitest": { - "filesPassed": 160, - "filesSkipped": 1, - "passed": 2202, + "launchBoundaryTests": { + "files": 3, + "passed": 128, "failed": 0, - "skipped": 11, - "durationSeconds": 223.84, - "attachTransitionRunnerDigest": "sha256:66122cae0160bfa2655d64afb7c7b5c01aa5fa7bba8ad608c7ee768c14f51fec", - "note": "Used the matching foundation transition runner plus locally built Rust fake binaries. Optional installed-Pi test runs separately below." - }, - "nativeProviderRustTests": { - "passed": 13, - "failed": 0, - "ignored": 0 + "coverage": "native backend admission, scoped credential environment, durable final processLauncher specification for all candidate providers" }, "vitest": { "files": 4, @@ -118,27 +107,27 @@ "skipped": 0, "actualPackages": "fresh provider-pack assets" }, - "verificationHistory": [ - { - "suite": "full runner Vitest before building this worktree Rust fixtures", - "passed": 2102, - "failed": 99, - "skipped": 12, - "failurePhase": "test setup", - "failure": "Three test files lacked required local Rust fake binaries. Built the binaries, then the complete suite passed as recorded above." - } - ], - "priorCi": { - "head": "ee75eab87a741adec31b82e658542d50232a3b7d", - "runId": 36462967091, - "correctedFindings": [ - "isolated distribution manifest missing required engines.node", - "TypeScript Pi candidate fixture retained pre-upgrade identity", - "Rust Pi controls fixture retained pre-upgrade identity" - ], - "infrastructure": "Four server shards reported runner shutdown and operation cancellation, with no test failure summaries; no shared server source change was made. Fresh-head CI must recheck them." + "precedingFullSuite": { + "sourceRevision": "2e65b64d5a2148583109b8157d6e72f54f5ad29b", + "fullRunnerVitest": { + "filesPassed": 160, + "filesSkipped": 1, + "passed": 2202, + "failed": 0, + "skipped": 11, + "durationSeconds": 223.84, + "attachTransitionRunnerDigest": "sha256:66122cae0160bfa2655d64afb7c7b5c01aa5fa7bba8ad608c7ee768c14f51fec", + "note": "Used the matching foundation transition runner plus locally built Rust fake binaries. Optional installed-Pi test runs separately below." + }, + "nativeProviderRustTests": { + "passed": 13, + "failed": 0, + "ignored": 0 + }, + "note": "These broader checks ran before the final shared launch-boundary patch; current-source focused checks are recorded separately above." }, "notRun": [ + "full runner TypeScript suite after the final shared launch-boundary patch", "full repository typecheck, build, and tests for this provider branch", "full Rust workspace test suite for this provider branch", "credentialed model evaluation",