From 9f654db4541d3d002769c988f6e51fc0b08dadbd Mon Sep 17 00:00:00 2001 From: Dotta Date: Sat, 3 Oct 2026 08:38:53 -0500 Subject: [PATCH] Publish immutable ACP Claude readiness admission Co-Authored-By: Paperclip --- .../historical-definition.json | 47 +++ .../historical-final-preflight.json | 303 ++++++++++++++++++ .../manifest.json | 271 ++++++++++++++++ .../reduced-definition.json | 47 +++ .../reduced-final-preflight.json | 303 ++++++++++++++++++ .../2026-10-03-legacy-acp-claude-readiness.md | 10 +- 6 files changed, 978 insertions(+), 3 deletions(-) create mode 100644 doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-definition.json create mode 100644 doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json create mode 100644 doc/plans/2026-10-03-legacy-acp-claude-evidence/manifest.json create mode 100644 doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-definition.json create mode 100644 doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json diff --git a/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-definition.json b/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-definition.json new file mode 100644 index 00000000000..30ca0c9dc17 --- /dev/null +++ b/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-definition.json @@ -0,0 +1,47 @@ +{ + "id": "stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation", + "suiteDefinitionHash": "fb72ab2d637763ce4cdcb0028e8daf6292ef783dae504725ad1ce5d717926c12", + "profile": { + "id": "legacy-acp-claude", + "model": "claude-sonnet-4-6", + "credential": "ANTHROPIC_API_KEY", + "adapterType": "claude_local", + "config": { + "name": "Runner E2E legacy-acp-claude stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation", + "role": "qa", + "title": "Paid full-stack runner acceptance fixture", + "capabilities": "Completes deterministic standard, planning, and ask-mode runner acceptance tasks.", + "adapterType": "claude_local", + "adapterConfig": { + "model": "claude-sonnet-4-6", + "timeoutSec": 360, + "dangerouslySkipPermissions": true, + "engine": "acp", + "mode": "oneshot", + "env": { + "ANTHROPIC_API_KEY": { + "type": "secret_ref", + "secretId": "22222222-2222-4222-8222-222222222222", + "version": "latest" + } + } + }, + "defaultEnvironmentId": "11111111-1111-4111-8111-111111111111", + "budgetMonthlyCents": 0, + "runtimeConfig": {} + } + }, + "task": { + "id": "assigned-skill-explicit-invocation", + "automaticRetryPolicy": "single_attempt", + "expectedRunCount": 1, + "attemptTimeoutMs": { + "local": 720000, + "daytona": 720000 + }, + "prompt": "Use the assigned Context integrity output skill for this task, then follow its instructions and finish the task. Do not create child tasks or unrelated deliverables." + }, + "environment": { + "id": "local" + } +} diff --git a/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json b/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json new file mode 100644 index 00000000000..896bee8ad42 --- /dev/null +++ b/doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json @@ -0,0 +1,303 @@ +{ + "schema": "paperclip.stock-harness-preflight.v3", + "instructionVariant": { + "variant": "historical", + "sha256": "e4d2375d722602cd744403292d99f6e6c9b7e8014d9cdfa6f9811ace03428e5f" + }, + "sourceSha": "c25697f4260b6f3adfea143c3ae9932e2f42986d", + "sourceFingerprint": "d022275d9f9f7b88c28e839c9705d7d9dd4b1baf9b273d3fd6984ad3ee40ea1b", + "measuredAt": "2026-10-03T12:38:01.973Z", + "providerCalls": 0, + "live": "not_run", + "passed": true, + "sourceErrors": [], + "setup": { + "passed": true, + "exitCode": 0, + "sdkExitCode": 0, + "runnerdExitCode": 0, + "runnerdSha256": "750001f36300abdfe2aee9d93abb85b509be65d8a3a14301a558534747b29489", + "fakeCodexSha256": "bd7994698984ac7b8a62fd381d88e5e5d9a64aabb61cc46cde659da0a3649e33" + }, + "gates": [ + { + "id": "SH-1", + "name": "Native Codex additive instructions", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "src/drivers/codex/codex-app-server-driver.test.ts", + "passed": true + }, + { + "file": "src/drivers/codex/codex-app-server-driver.lifecycle.test.ts", + "passed": true + }, + { + "file": "src/live/runnerd-codex-transport.test.ts", + "passed": true + }, + { + "file": "src/live/live-session.test.ts", + "passed": true + }, + { + "file": "src/cli/eval-provider-runtime.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "adds Paperclip developer instructions", + "passed": true + }, + { + "name": "preserves stock Codex instructions on task recovery", + "passed": true + }, + { + "name": "preserves stock Codex instructions on prepared recovery", + "passed": true + }, + { + "name": "preserves stock Codex instructions on direct recovery", + "passed": true + }, + { + "name": "captures exact provider frames and correlates", + "passed": true + }, + { + "name": "exposes native completion consistently on fresh and resumed sessions", + "passed": true + }, + { + "name": "passes caller-supplied native system instructions", + "passed": true + } + ], + "total": 329, + "passedTests": 11, + "failedTests": 0, + "pendingTests": 318 + }, + { + "id": "SH-2", + "name": "Production-default hire bundle", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "server/src/__tests__/agent-skills-routes.test.ts", + "passed": true + }, + { + "file": "server/src/services/onboarding-first-task-assets.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "materializes the bundled default instruction set for non-CEO agents with no prompt template", + "passed": true + } + ], + "total": 71, + "passedTests": 71, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-3", + "name": "Shared legacy startup and continuation", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "packages/adapter-utils/src/server-utils.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/prompt-sections.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/acpx-engine/execute.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/acpx-engine/ephemeral-session-environment.test.ts", + "passed": true + }, + { + "file": "packages/adapters/pi-local/src/server/execute.remote.test.ts", + "passed": true + }, + { + "file": "packages/adapters/opencode-local/src/server/execute.test.ts", + "passed": true + }, + { + "file": "packages/adapters/cursor-cloud/src/server/execute.test.ts", + "passed": true + }, + { + "file": "server/src/__tests__/codex-local-execute.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "keeps the default local-agent prompt action-oriented", + "passed": true + }, + { + "name": "adds the execution contract to resume delta prompts and opted-in fresh prompts", + "passed": true + }, + { + "name": "integrates the env-free store", + "passed": true + }, + { + "name": "advertises folded routing metadata", + "passed": true + }, + { + "name": "bounds routing descriptions", + "passed": true + }, + { + "name": "loads an old env-bearing file with rotated credentials", + "passed": true + }, + { + "name": "drops a skill that fails to materialize", + "passed": true + } + ], + "total": 412, + "passedTests": 412, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-3-hermes", + "name": "Hermes shared-prompt delivery", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "src/server/prompt-rendering.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "renders standard assignment wake with task authority", + "passed": true + }, + { + "name": "renders scoped planning wake authority", + "passed": true + } + ], + "total": 13, + "passedTests": 13, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-eval", + "name": "Independent oracle and qualification admission", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "tests/runner-e2e/stock-harness-manifest.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/paperclip-document.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-checks.test.mjs", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-admission.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-digest.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/select-rerun-artifacts.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-instruction-variant.test.mjs", + "passed": true + }, + { + "file": "tests/runner-e2e/automatic-retry.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "requires generated capability manifests for the current skill sources", + "passed": true + }, + { + "name": "the shipped recipe delivers the current", + "passed": true + }, + { + "name": "the shipped recipe supports an unnumbered issue", + "passed": true + }, + { + "name": "rejects old SHA before providers", + "passed": true + }, + { + "name": "allows toolchain paths and excludes every present or future credential", + "passed": true + }, + { + "name": "changes when the evaluated server/src/onboarding-assets/default/AGENTS.md changes", + "passed": true + }, + { + "name": "changes when the evaluated packages/adapter-utils/src/server-utils.ts changes", + "passed": true + }, + { + "name": "changes when the evaluated packages/shared/src/connection-intent-guidance.ts changes", + "passed": true + }, + { + "name": "retains credential-free prerequisites inside the exact campaign root", + "passed": true + } + ], + "total": 158, + "passedTests": 158, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-1-rust", + "passed": true, + "exitCode": 0 + } + ] +} diff --git a/doc/plans/2026-10-03-legacy-acp-claude-evidence/manifest.json b/doc/plans/2026-10-03-legacy-acp-claude-evidence/manifest.json new file mode 100644 index 00000000000..db038443063 --- /dev/null +++ b/doc/plans/2026-10-03-legacy-acp-claude-evidence/manifest.json @@ -0,0 +1,271 @@ +{ + "schema": "paperclip.stock-acp-readiness-comparison.v1", + "status": "admitted-not-dispatched", + "masterContext": "569c7203aa24b95440682983ce7940ba1d4247bd", + "variants": { + "reduced": { + "sourceSha": "de0965984ff3edf611ae6d0e7ca5c7d5ae3947bb", + "targetBranch": "codex/stock-acp-reduced-v3-20261003", + "parent": "7084416945948cb44c9f2070f6356a9c1dece6ec" + }, + "historical": { + "sourceSha": "c25697f4260b6f3adfea143c3ae9932e2f42986d", + "targetBranch": "codex/stock-acp-historical-20261003", + "parent": "f6b56a2bff2ba426213c8b56c9895488402705fe" + } + }, + "treeProof": { + "totalPaths": 8291, + "identicalPaths": 8280, + "differences": [ + { + "path": "packages/adapter-utils/src/acpx-engine/execute.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "11b49650addafc6a1044cab21fc50e94081b6c2392308569e992b8e935a8bffb", + "historicalSha256": "8e04bd0124b091de7367df3f5a2d2a412db6f4c05f75b917506aad5f69a6bbf8" + }, + { + "path": "packages/adapter-utils/src/prompt-sections.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "d2affc96b650bcc7fb1943513b6c3777af3dcbac9aa5329fcf9b25d4e3e5cb2f", + "historicalSha256": "d2b254845b494bcaa28f4c362a552551a9361b6143995571f07030086c481064" + }, + { + "path": "packages/adapter-utils/src/server-utils.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "a2941916ef59bc50ac04747bf3c5fd927992e0d7b8a775c660091d5e0e162940", + "historicalSha256": "2b574ea4a7b255646082de8f437cfc2c63b83297aeefb11c243dbecda90f4653" + }, + { + "path": "packages/adapter-utils/src/server-utils.ts", + "class": "production-instructions", + "reducedSha256": "41b3c0b4e731106948f6dd3f2525c4bbd0ead0077a8475d7d0c63d6dd25cb2a0", + "historicalSha256": "916e879f70a90d31c89bc1486d5f84807c4ecafeab62961f67d84d1ebec7a173" + }, + { + "path": "packages/adapters/cursor-cloud/src/server/execute.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "20b9b6f0c307099aa1eb439758d2e1d3b99a2078be2a7772bec52cdf9b561280", + "historicalSha256": "3811a42a5a09499bf12ac75b75c8cb87a8d5125816127c8bf5f297ab05791d34" + }, + { + "path": "packages/adapters/hermes/src/server/prompt-rendering.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "fba065a7f7d46f1905af8b1ebf44a52c08ebd95b3390d8f3712ae28cd90ebb76", + "historicalSha256": "132171e9e3e19a473f57b9ab091eba1357a87a42cd6b6f3e08a78414cd44befd" + }, + { + "path": "packages/adapters/opencode-local/src/server/execute.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "8d4840d5a6e7b59713c1630e28570e1fc613db322bf65206fc42ba886cb2353a", + "historicalSha256": "cf6de7d428ba7743ffde725f4528c27a73e1ec813c199013113ed122239b7415" + }, + { + "path": "packages/adapters/pi-local/src/server/execute.remote.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "c10daceab4e6aa0dfa966d216915b6f8b74247343128c4f2c39a97e6fd3b2bdc", + "historicalSha256": "fb2b50d09e6a09ae5cb45e00b133dbea5c381a35162582b7d0af0d8c671adae7" + }, + { + "path": "server/src/__tests__/agent-skills-routes.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "a2a8a281b5b543c7b32f4daebd01e9f2b50ab116f1475e1becaf8590afb0490c", + "historicalSha256": "cfc56951eea693f7c5cb147d02cee87711a56e2e5fd407aaf8eb9331c0856673" + }, + { + "path": "server/src/__tests__/codex-local-execute.test.ts", + "class": "variant-specific-unit-expectation", + "reducedSha256": "4c3892f1d07a27db5eab5211f40a7f81fd43b11c34cf69235f20891c8c00ffd2", + "historicalSha256": "f5bd779bf940879319f26949b1a8768f96a91fc88b045cc128f3456844c4831c" + }, + { + "path": "server/src/onboarding-assets/default/AGENTS.md", + "class": "production-instructions", + "reducedSha256": "c6318bf7e425cc0dd7acd4ff2905dab5c46ffddedef979afdf06720c82f6e95a", + "historicalSha256": "e4d2375d722602cd744403292d99f6e6c9b7e8014d9cdfa6f9811ace03428e5f" + } + ], + "commonCriticalSources": { + "packages/adapter-utils/src/acpx-engine/execute.ts": "03bb9f34180533fceb1ca26b34d36aefafc4165a8272cf5bf09baffe8b935199", + "packages/adapter-utils/src/acpx-engine/ephemeral-session-environment.ts": "100b58e782ccde265f4fe5607611bfb077827d3be0ed2003ee68ebfc99aa7ef1", + "packages/adapter-utils/src/acpx-engine/ephemeral-session-environment.test.ts": "af25d034a4b0f9e21285f2b05519b76f3c774512a302fc6bf133940e8d08046a", + "skills/paperclip/SKILL.md": "6ca593effe18704f8014ac4e8155f7513c0701aa3c61d3cf0b96d3366c92f0e1", + "skills/paperclip/references/issue-documents.md": "4514fe49d45a77fa865f5f35afd6a5cd7465108363bc8cbd7c5b41eacf744189", + "tests/runner-e2e/context-integrity-cases.ts": "d24f64ee513b4c066f876b3c5b75a78ebe536a7ad87857ee46c9d853e21b0cea", + "tests/runner-e2e/context-integrity-flow.ts": "efd323af2ceec81875a5bf9e8a2e5dd677e1a237e682a9d5de6048179778b664", + "tests/runner-e2e/context-integrity-scoring.ts": "f457b3891b81549a9a5c24d8d81404184a9173b751e975a63f9c0096be20574c", + "tests/runner-e2e/stock-harness.ts": "66d093fbc813bd3ff85d47be6f7dcee82bd03432c35631ef762ed652777e3b4b", + "tests/runner-e2e/stock-harness-checks.mjs": "17e3cadb8572781ece7619700fa1498a42286c7332b9b934f3afc7e9c80a54e9", + "tests/runner-e2e/stock-harness-admission.ts": "4cad5e7e703029651d79b5ace4b22368da3b326fed46fe38366c6f95d24b4451", + "tests/runner-e2e/catalog.ts": "0f634540f15574af108c47038a969d81ef3b6297fa29fe2149e7cd03da7e70a4", + "tests/runner-e2e/automatic-retry.ts": "305f0ea7f9fbb272a5cd340c1ba9d5a9da9fb0b7302586876e1ce649c7f9c8ce", + "tests/runner-e2e/launch.ts": "30cc776c11d680f2ab51cdbf6c573455c48bb50f2617614410150229a1848fd1" + } + }, + "selection": { + "id": "stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation", + "cellsPerVariant": 1, + "totalCells": 2, + "expectedPrimaryProviderTurns": 2, + "model": "claude-sonnet-4-6", + "engine": "acp", + "mode": "oneshot", + "automaticRetryPolicy": "single_attempt", + "maxCampaignAttemptsPerCell": 1, + "automaticProductRecovery": "preserved; every actual run/call/cost retained", + "deadlineMs": 720000, + "providerTimeoutSec": 360, + "companyBudgetCents": 1000, + "agentBudgetCents": 1000, + "maxParallelPerWorkflow": 1, + "all": false, + "trustedWorkflowRef": "master", + "credentialName": "ANTHROPIC_API_KEY", + "baselineSemantics": "Current repaired setup held identical; only historical versus reduced manual/shared instructions differ. This is not a rerun of original 2026-10-02 source context." + }, + "definitionProof": { + "sameProfileTaskEnvironment": true, + "scenarioNonce": "MATCHED_NONCE only for definition comparison; live unique nonces/company/run/credential identifiers vary normally", + "reducedSuiteHash": "169d7c62708f73d34215d222988d8b299477be14a375b369e12d8608d0f1a835", + "historicalSuiteHash": "fb72ab2d637763ce4cdcb0028e8daf6292ef783dae504725ad1ce5d717926c12", + "suiteHashDifference": "Expected: suite sourceDigest covers declared instruction and unit differences. Selected behavioral fixture/profile/task/oracle bytes remain identical.", + "commonSelectedDefinitionSha256": "8cd6bf913285c727bbc65757aef4c636c79a45e001c848eb8d12aca6b6347ebd" + }, + "admissions": { + "reduced": { + "receipt": "doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json", + "sha256": "0efdc5b228c1c9e066cb0187284a5168bbbdf8576a227427bf7ba7fbb5df6357", + "sourceSha": "de0965984ff3edf611ae6d0e7ca5c7d5ae3947bb", + "sourceFingerprint": "58b479d4bc2f3000e86907a9d860637f235fa164889e5adb311e0fd82fa2677b", + "passed": true, + "providerCalls": 0, + "instructionVariant": { + "variant": "reduced", + "sha256": "c6318bf7e425cc0dd7acd4ff2905dab5c46ffddedef979afdf06720c82f6e95a" + }, + "setup": { + "passed": true, + "exitCode": 0, + "sdkExitCode": 0, + "runnerdExitCode": 0, + "runnerdSha256": "ed5e87f764f8a333ba6d4cf961d89313a0e70e7494e802aa342a4c0f93dbf6dc", + "fakeCodexSha256": "1251e3132bccf24d5d8b838f2c5df4c5f3172506daf796ce9543b7f78fc1e098" + }, + "gates": [ + { + "id": "SH-1", + "passed": true, + "passedTests": 11, + "failedTests": 0, + "skippedTests": 318 + }, + { + "id": "SH-2", + "passed": true, + "passedTests": 71, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-3", + "passed": true, + "passedTests": 412, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-3-hermes", + "passed": true, + "passedTests": 13, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-eval", + "passed": true, + "passedTests": 158, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-1-rust", + "passed": true, + "passedTests": 1, + "failedTests": 0, + "skippedTests": 0 + } + ] + }, + "historical": { + "receipt": "doc/plans/2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json", + "sha256": "ab778d3122e4f645576771637b01314a859a4066c5fbdb4d5ccc7912a464910c", + "sourceSha": "c25697f4260b6f3adfea143c3ae9932e2f42986d", + "sourceFingerprint": "d022275d9f9f7b88c28e839c9705d7d9dd4b1baf9b273d3fd6984ad3ee40ea1b", + "passed": true, + "providerCalls": 0, + "instructionVariant": { + "variant": "historical", + "sha256": "e4d2375d722602cd744403292d99f6e6c9b7e8014d9cdfa6f9811ace03428e5f" + }, + "setup": { + "passed": true, + "exitCode": 0, + "sdkExitCode": 0, + "runnerdExitCode": 0, + "runnerdSha256": "750001f36300abdfe2aee9d93abb85b509be65d8a3a14301a558534747b29489", + "fakeCodexSha256": "bd7994698984ac7b8a62fd381d88e5e5d9a64aabb61cc46cde659da0a3649e33" + }, + "gates": [ + { + "id": "SH-1", + "passed": true, + "passedTests": 11, + "failedTests": 0, + "skippedTests": 318 + }, + { + "id": "SH-2", + "passed": true, + "passedTests": 71, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-3", + "passed": true, + "passedTests": 412, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-3-hermes", + "passed": true, + "passedTests": 13, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-eval", + "passed": true, + "passedTests": 158, + "failedTests": 0, + "skippedTests": 0 + }, + { + "id": "SH-1-rust", + "passed": true, + "passedTests": 1, + "failedTests": 0, + "skippedTests": 0 + } + ] + } + }, + "supersededAdmissionSources": [ + "da529b7ec43d7f5404a35da12139f541e167dfd9", + "7084416945948cb44c9f2070f6356a9c1dece6ec", + "f6b56a2bff2ba426213c8b56c9895488402705fe" + ], + "liveResults": "pending; no providers launched by local admission", + "claims": "A bounded document delivery and exact-credential safety comparison; no claim of general harness/coding quality." +} diff --git a/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-definition.json b/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-definition.json new file mode 100644 index 00000000000..4f8fc51fc02 --- /dev/null +++ b/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-definition.json @@ -0,0 +1,47 @@ +{ + "id": "stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation", + "suiteDefinitionHash": "169d7c62708f73d34215d222988d8b299477be14a375b369e12d8608d0f1a835", + "profile": { + "id": "legacy-acp-claude", + "model": "claude-sonnet-4-6", + "credential": "ANTHROPIC_API_KEY", + "adapterType": "claude_local", + "config": { + "name": "Runner E2E legacy-acp-claude stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation", + "role": "qa", + "title": "Paid full-stack runner acceptance fixture", + "capabilities": "Completes deterministic standard, planning, and ask-mode runner acceptance tasks.", + "adapterType": "claude_local", + "adapterConfig": { + "model": "claude-sonnet-4-6", + "timeoutSec": 360, + "dangerouslySkipPermissions": true, + "engine": "acp", + "mode": "oneshot", + "env": { + "ANTHROPIC_API_KEY": { + "type": "secret_ref", + "secretId": "22222222-2222-4222-8222-222222222222", + "version": "latest" + } + } + }, + "defaultEnvironmentId": "11111111-1111-4111-8111-111111111111", + "budgetMonthlyCents": 0, + "runtimeConfig": {} + } + }, + "task": { + "id": "assigned-skill-explicit-invocation", + "automaticRetryPolicy": "single_attempt", + "expectedRunCount": 1, + "attemptTimeoutMs": { + "local": 720000, + "daytona": 720000 + }, + "prompt": "Use the assigned Context integrity output skill for this task, then follow its instructions and finish the task. Do not create child tasks or unrelated deliverables." + }, + "environment": { + "id": "local" + } +} diff --git a/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json b/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json new file mode 100644 index 00000000000..846b8b11558 --- /dev/null +++ b/doc/plans/2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json @@ -0,0 +1,303 @@ +{ + "schema": "paperclip.stock-harness-preflight.v3", + "instructionVariant": { + "variant": "reduced", + "sha256": "c6318bf7e425cc0dd7acd4ff2905dab5c46ffddedef979afdf06720c82f6e95a" + }, + "sourceSha": "de0965984ff3edf611ae6d0e7ca5c7d5ae3947bb", + "sourceFingerprint": "58b479d4bc2f3000e86907a9d860637f235fa164889e5adb311e0fd82fa2677b", + "measuredAt": "2026-10-03T12:38:02.104Z", + "providerCalls": 0, + "live": "not_run", + "passed": true, + "sourceErrors": [], + "setup": { + "passed": true, + "exitCode": 0, + "sdkExitCode": 0, + "runnerdExitCode": 0, + "runnerdSha256": "ed5e87f764f8a333ba6d4cf961d89313a0e70e7494e802aa342a4c0f93dbf6dc", + "fakeCodexSha256": "1251e3132bccf24d5d8b838f2c5df4c5f3172506daf796ce9543b7f78fc1e098" + }, + "gates": [ + { + "id": "SH-1", + "name": "Native Codex additive instructions", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "src/drivers/codex/codex-app-server-driver.test.ts", + "passed": true + }, + { + "file": "src/drivers/codex/codex-app-server-driver.lifecycle.test.ts", + "passed": true + }, + { + "file": "src/live/runnerd-codex-transport.test.ts", + "passed": true + }, + { + "file": "src/live/live-session.test.ts", + "passed": true + }, + { + "file": "src/cli/eval-provider-runtime.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "adds Paperclip developer instructions", + "passed": true + }, + { + "name": "preserves stock Codex instructions on task recovery", + "passed": true + }, + { + "name": "preserves stock Codex instructions on prepared recovery", + "passed": true + }, + { + "name": "preserves stock Codex instructions on direct recovery", + "passed": true + }, + { + "name": "captures exact provider frames and correlates", + "passed": true + }, + { + "name": "exposes native completion consistently on fresh and resumed sessions", + "passed": true + }, + { + "name": "passes caller-supplied native system instructions", + "passed": true + } + ], + "total": 329, + "passedTests": 11, + "failedTests": 0, + "pendingTests": 318 + }, + { + "id": "SH-2", + "name": "Production-default hire bundle", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "server/src/__tests__/agent-skills-routes.test.ts", + "passed": true + }, + { + "file": "server/src/services/onboarding-first-task-assets.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "materializes minimal default instructions for non-CEO agents with no prompt template", + "passed": true + } + ], + "total": 71, + "passedTests": 71, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-3", + "name": "Shared legacy startup and continuation", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "packages/adapter-utils/src/server-utils.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/prompt-sections.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/acpx-engine/execute.test.ts", + "passed": true + }, + { + "file": "packages/adapter-utils/src/acpx-engine/ephemeral-session-environment.test.ts", + "passed": true + }, + { + "file": "packages/adapters/pi-local/src/server/execute.remote.test.ts", + "passed": true + }, + { + "file": "packages/adapters/opencode-local/src/server/execute.test.ts", + "passed": true + }, + { + "file": "packages/adapters/cursor-cloud/src/server/execute.test.ts", + "passed": true + }, + { + "file": "server/src/__tests__/codex-local-execute.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "keeps task and chat defaults to identity and connection guidance", + "passed": true + }, + { + "name": "does not restore generic procedures on resume or with the legacy opt-in", + "passed": true + }, + { + "name": "integrates the env-free store", + "passed": true + }, + { + "name": "advertises folded routing metadata", + "passed": true + }, + { + "name": "bounds routing descriptions", + "passed": true + }, + { + "name": "loads an old env-bearing file with rotated credentials", + "passed": true + }, + { + "name": "drops a skill that fails to materialize", + "passed": true + } + ], + "total": 412, + "passedTests": 412, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-3-hermes", + "name": "Hermes shared-prompt delivery", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "src/server/prompt-rendering.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "renders standard assignment wake with task authority", + "passed": true + }, + { + "name": "renders scoped planning wake authority", + "passed": true + } + ], + "total": 13, + "passedTests": 13, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-eval", + "name": "Independent oracle and qualification admission", + "passed": true, + "exitCode": 0, + "files": [ + { + "file": "tests/runner-e2e/stock-harness-manifest.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/paperclip-document.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-checks.test.mjs", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-admission.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-digest.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/select-rerun-artifacts.test.ts", + "passed": true + }, + { + "file": "tests/runner-e2e/stock-harness-instruction-variant.test.mjs", + "passed": true + }, + { + "file": "tests/runner-e2e/automatic-retry.test.ts", + "passed": true + } + ], + "requirements": [ + { + "name": "requires generated capability manifests for the current skill sources", + "passed": true + }, + { + "name": "the shipped recipe delivers the current", + "passed": true + }, + { + "name": "the shipped recipe supports an unnumbered issue", + "passed": true + }, + { + "name": "rejects old SHA before providers", + "passed": true + }, + { + "name": "allows toolchain paths and excludes every present or future credential", + "passed": true + }, + { + "name": "changes when the evaluated server/src/onboarding-assets/default/AGENTS.md changes", + "passed": true + }, + { + "name": "changes when the evaluated packages/adapter-utils/src/server-utils.ts changes", + "passed": true + }, + { + "name": "changes when the evaluated packages/shared/src/connection-intent-guidance.ts changes", + "passed": true + }, + { + "name": "retains credential-free prerequisites inside the exact campaign root", + "passed": true + } + ], + "total": 158, + "passedTests": 158, + "failedTests": 0, + "pendingTests": 0 + }, + { + "id": "SH-1-rust", + "passed": true, + "exitCode": 0 + } + ] +} diff --git a/doc/plans/2026-10-03-legacy-acp-claude-readiness.md b/doc/plans/2026-10-03-legacy-acp-claude-readiness.md index 5d6875db6ca..923defb39d6 100644 --- a/doc/plans/2026-10-03-legacy-acp-claude-readiness.md +++ b/doc/plans/2026-10-03-legacy-acp-claude-readiness.md @@ -1,6 +1,6 @@ # Legacy ACP Claude readiness repair -TL;DR: the original reduced cohort has one additional document-delivery defect beneath an unchanged credential failure. Historical ACP Claude saved the requested issue document; reduced ACP Claude did not. Neither ordinary invocation read the staged operational Paperclip skill. A bounded matched repair pair is being prepared; no new live verdict exists yet. +TL;DR: the original reduced cohort has one additional document-delivery defect beneath an unchanged credential failure. Historical ACP Claude saved the requested issue document; reduced ACP Claude did not. Neither ordinary invocation read the staged operational Paperclip skill. The repaired reduced and historical variants have both passed exact-source admission with zero provider calls. One paired ACP Claude case is ready for GitHub; no new live verdict exists yet. ## Preserved observation @@ -19,8 +19,12 @@ Both original results fail the strict exact-credential guard for a private ACP s ACP Claude now advertises bounded descriptions and exact successfully staged SKILL.md paths. Full bodies stay on demand; no unsupported native activation or native completion tools are promised. A copied session-store projection removes only persisted environment; loads receive the current run's environment. Live records, other options/state, rotation and existing cache behavior remain intact. -Initial calibration passes 22 tests, with 200 unrelated assertions explicitly skipped; adapter-utils typecheck passes. This includes three real-disk cases and actual executor credential/rotation integration, folded/bounded metadata, exact remote paths and failed materialization. First remote tests hit sandbox loopback EPERM; the retained scoped loopback-enabled attempt passes. A missing required fixture field was corrected before typecheck passed. No providers were called. +Final adapter calibration passes all 222 affected assertions, with no skips; adapter-utils typecheck passes. The final variant/capture/retry calibration passes 96 assertions, and E2E typecheck passes. This includes three real-disk cases and actual executor credential/rotation integration, folded/bounded metadata, exact remote paths and failed materialization. First remote tests hit sandbox loopback EPERM; the retained scoped loopback-enabled attempt passes. A missing required fixture field was corrected before typecheck passed. No providers were called. -Original #14948 head `36aa4d81c49a1a8f6f04b1a068fae19aa901955f` is archived. Current-master integration is local and unpublished. New qualification will hold operational/auth fixes, fixture/model/permissions/native context constant, varying historical versus reduced manual/shared prompts. Structural admission may expect each variant's own exact source; durable-document and credential guards remain identical. One campaign attempt per variant, with all actual automatic recovery runs counted. Frozen refs/admissions/results are pending. +Original #14948 head `36aa4d81c49a1a8f6f04b1a068fae19aa901955f` is archived. The new reduced candidate is `de0965984ff3edf611ae6d0e7ca5c7d5ae3947bb`; the historical comparator is `c25697f4260b6f3adfea143c3ae9932e2f42986d`, both on current master context `569c7203aa24b95440682983ce7940ba1d4247bd`. Of 8,291 source paths, 8,280 are identical. Exactly two production instruction paths differ (default manual and shared prompt renderer), plus nine declared unit expectation paths. The skill discovery/environment repairs, operational skill, behavioral fixture/grader, profile, permissions, and automatic-retry policy are identical. The selected configuration uses the original `claude-sonnet-4-6`, ACP oneshot profile. + +Both actual launcher prepare→verify admissions pass with zero providers. See the [immutable manifest](2026-10-03-legacy-acp-claude-evidence/manifest.json), [reduced receipt](2026-10-03-legacy-acp-claude-evidence/reduced-final-preflight.json), and [historical receipt](2026-10-03-legacy-acp-claude-evidence/historical-final-preflight.json). Each prerequisite receipt preserves executed and skipped counts separately; unrelated skipped tests do not count as coverage. The earlier da529/708/f6 zero-provider receipts are superseded and retained locally. The valid review finding now tests historical startup and resumed task/chat carriers separately; startup cannot mask a missing task resume. Complete ordinary task snapshots with an absent conversationMode key normalize to false exactly as production does, while missing/malformed/unscoped snapshots fail closed. + +The authorized dispatch is exactly one `stock-harness.legacy-acp-claude.local.assigned-skill-explicit-invocation` cell per variant on separate immutable targets. Each has a 12-minute deadline, company and agent 1,000-cent budget hard stops, enforced `single_attempt` campaign policy, and preserved product recovery with every actual run/cost counted. Core document and exact-credential guards are unchanged. This measures historical versus reduced instructions in the repaired common setup, not a rerun of the old source context or a general coding-quality benchmark. GitHub run IDs and task outcomes remain pending. PR #14961 is merged. Parent verified #15007's unchanged `fed1729018cc100f5f4bbfb692777e49009c423b` implementation with 144 focused cases, green CI and fresh 5/5; it was subsequently externally merged. Historical ACPX attribution remains uncomparable; original grades remain intact. #14948 still requires the new matched evidence and current-head checks before readiness.