diff --git a/doc/architecture/runner-copilot-capabilities.md b/doc/architecture/runner-copilot-capabilities.md index 9972450ac57..4cacf79ceac 100644 --- a/doc/architecture/runner-copilot-capabilities.md +++ b/doc/architecture/runner-copilot-capabilities.md @@ -439,3 +439,20 @@ unknown. Across all live work, five provider turns were observed; the underlying HTTP model-request count is unavailable. No additional paid attempt is running. The candidate remains pending because the failed question, unverified plan/restart, Daytona, restrictive-permission and full isolation cases still require evidence. + +## Final shared-source packaging checkpoint + +The [final pack proof](../../packages/paperclip-runner/test/fixtures/copilot-provider-pack-final-2026-09-28.json) +uses committed source `8aa867b64d5fc2fd62cff110bd000addf5dc54de` on foundation +`f063fbf2b`, including the paused-cost and bounded native-copy fixes. Pack digest +is `sha256:627992ea80e8be7154d07cbc9925b781519199e25690b02d4a044f44342e6bd8`. +Two clean resolutions from the tracked manifest graph and lock produced identical +dependency bytes, SHA256 `aa97f89ba8a7c63573114dda54895523d316df67956c65eeccbc89d3166bb1b4`; +the frozen filtered install passed and no generated lock is committed. The +packaged registry probe again initialized numeric request 0 and closed cleanly, +with no credential, prompt or fixture HTTP request. TypeScript and sidecar build, +68 provider/contract tests, and 11 builder/script tests passed at this checkpoint. +The refreshed immutable runnerd has the matching Rust tree and digest +`sha256:e6a9fb5170b76a49b8411834b3706e8edf8f1a1ae85ad13b55368158aa7f67a0`. +This packaging proof does not rerun or supersede the live results above. Additional +Product starts are held while host PostgreSQL semaphore capacity is restored. diff --git a/packages/paperclip-runner/src/drivers/acpx/copilot-evidence.test.ts b/packages/paperclip-runner/src/drivers/acpx/copilot-evidence.test.ts index 725653ff75a..27d7a0d63cb 100644 --- a/packages/paperclip-runner/src/drivers/acpx/copilot-evidence.test.ts +++ b/packages/paperclip-runner/src/drivers/acpx/copilot-evidence.test.ts @@ -27,8 +27,8 @@ describe("Copilot pinned executable evidence", () => { expect(evidence.modelSelection.configEcho.configOptions.find((option: { id: string }) => option.id === "model").currentValue).toBe("gpt-5.6-luna"); expect(JSON.stringify(evidence)).not.toMatch(/\/Users\/|\/tmp\/|github_pat_|gho_|sessionId|accessToken/); }); - it("retains a complete packaged native launch without promoting offline proof to qualification", () => { - const evidence = fixture("copilot-provider-pack-darwin-arm64-1.0.88.json"); + it.each(["copilot-provider-pack-darwin-arm64-1.0.88.json", "copilot-provider-pack-final-2026-09-28.json"])("retains a complete packaged native launch without promoting offline proof to qualification (%s)", (name) => { + const evidence = fixture(name); expect(evidence.sourceRevision).toMatch(/^[a-f0-9]{40}$/); expect(evidence.providerPackDigest).toMatch(/^sha256:[a-f0-9]{64}$/); expect(evidence.candidate).toMatchObject({ version: "1.0.88", qualification: "pending" }); diff --git a/packages/paperclip-runner/test/fixtures/copilot-provider-pack-final-2026-09-28.json b/packages/paperclip-runner/test/fixtures/copilot-provider-pack-final-2026-09-28.json new file mode 100644 index 00000000000..0da980bf167 --- /dev/null +++ b/packages/paperclip-runner/test/fixtures/copilot-provider-pack-final-2026-09-28.json @@ -0,0 +1,86 @@ +{ + "schema": "paperclip.copilot-provider-pack-smoke/v1", + "sourceRevision": "8aa867b64d5fc2fd62cff110bd000addf5dc54de", + "providerPackDigest": "sha256:627992ea80e8be7154d07cbc9925b781519199e25690b02d4a044f44342e6bd8", + "platform": "darwin", + "architecture": "arm64", + "candidate": { + "version": "1.0.88", + "profileDigest": "sha256:b18c01603dd0169d233140709cfaa8bf5304a03cf5de78ca4f625f30013e8457", + "closureDigest": "sha256:fb3b367a45cd76122fe931521fa2a18adf234ba944fc302db9e10e005e57037e", + "qualification": "pending", + "path": "provider-assets/copilot/darwin-arm64", + "sha256": "sha256:49ad871973843e2bfc3ee1d1886f6a1537e887748cc6f3d5148b3ec7f3c7298f" + }, + "executableSha256": "sha256:a9ff8babb10b7e443182ae96a8bc50a9c826ef1c773e1344c396eb5bf7f512c3", + "registryLaunch": "verifyAcpxProfileInstallation/openCommand/spawn", + "initializeRequestId": 0, + "initialize": { + "protocolVersion": 1, + "agentCapabilities": { + "loadSession": true, + "mcpCapabilities": { + "http": true, + "sse": true + }, + "promptCapabilities": { + "image": true, + "audio": false, + "embeddedContext": true + }, + "sessionCapabilities": { + "close": {}, + "list": {} + } + }, + "agentInfo": { + "name": "Copilot", + "title": "Copilot", + "version": "1.0.88" + }, + "authMethods": [ + { + "id": "copilot-login", + "name": "Log in with Copilot CLI", + "description": "Run `copilot login` in the terminal", + "_meta": { + "terminal-auth": { + "command": "/fixture/verified/copilot", + "args": [ + "login" + ], + "label": "Copilot Login" + } + } + } + ] + }, + "missingCredentialPreflight": "COPILOT_AUTH_REQUIRED", + "cleanExit": true, + "inheritedCredentials": false, + "promptSent": false, + "networkMode": "COPILOT_OFFLINE=true; loopback metadata-only provider", + "fixtureRequests": [], + "protocolFixtureModel": "gpt-4.1 (not a qualified GitHub model)", + "costUsd": 0, + "qualification": "pending: no credential, entitlement, model execution or Daytona", + "dependencyResolution": { + "source": "committed workspace manifests and tracked lock", + "independentCleanResolutions": 2, + "identical": true, + "resolvedLockSha256": "sha256:aa97f89ba8a7c63573114dda54895523d316df67956c65eeccbc89d3166bb1b4", + "frozenFilteredInstallPassed": true + }, + "runnerd": { + "buildSourceRevision": "78360fa55adff11da9f200b228467eca782b81e1", + "rustTree": "17d327094be5759d80ef5bd02e15c59e78548ea2", + "sha256": "sha256:e6a9fb5170b76a49b8411834b3706e8edf8f1a1ae85ad13b55368158aa7f67a0", + "sourceTreeMatchesPackRevision": true, + "liveTurnAtThisRevision": false + }, + "verification": { + "runnerTypeScriptAndVerifiedSidecarBuild": "passed", + "providerAndContractTestsPassed": 68, + "builderAndScriptTestsPassed": 11 + } +}