diff --git a/packages/paperclip-runner/scripts/generate-protocol-coverage.mjs b/packages/paperclip-runner/scripts/generate-protocol-coverage.mjs index 9358037f5ed..fb7be771135 100644 --- a/packages/paperclip-runner/scripts/generate-protocol-coverage.mjs +++ b/packages/paperclip-runner/scripts/generate-protocol-coverage.mjs @@ -46,6 +46,10 @@ const lifecycleRequirements = [ ["secrets", "secret isolation and network restrictions", "src/live/clean-room-server.test.ts; runner/crates/runner-core/src/durable/runner.rs"], ["transcript-accounting", "assistant transcript capture, token usage, and cost inputs", "src/live/live-session.test.ts; src/cli/eval-session.ts"], ["state-reconstruction", "fixture and post-run state reconstruction", "src/scenarios/scenario-explorer.test.ts; src/live/live-session.test.ts"], + ["paperclip-adapter-selection", "paperclip_runner is selectable without changing legacy adapter behavior", "server/src/services/native-runtime/runtime-mode.test.ts; server/src/__tests__/heartbeat-native-runner-selection.test.ts"], + ["real-control-plane-binding", "advertised runner tools re-authorize the live company, issue, agent, and run before using real Paperclip services", "server/src/services/native-runtime/paperclip-runner-tool-authority.test.ts"], + ["real-control-plane-idempotency", "real service mutations are replay-safe and reject conflicting idempotency-key reuse", "server/src/services/native-runtime/paperclip-runner-tool-authority.test.ts"], + ["paperclip-thread-projection", "committed PRP reasoning and semantic tool items render in the existing Paperclip task chat", "ui/src/adapters/paperclip-runner/index.test.ts; server/src/services/native-runtime/paperclip-control-plane-port.test.ts"], ]; const actions = catalog.map((action) => ({ diff --git a/packages/paperclip-runner/spec/capability/protocol-coverage.json b/packages/paperclip-runner/spec/capability/protocol-coverage.json index ca7eeac3f25..dcdf8014a88 100644 --- a/packages/paperclip-runner/spec/capability/protocol-coverage.json +++ b/packages/paperclip-runner/spec/capability/protocol-coverage.json @@ -3567,6 +3567,26 @@ "id": "state-reconstruction", "requirement": "fixture and post-run state reconstruction", "deterministicOwner": "src/scenarios/scenario-explorer.test.ts; src/live/live-session.test.ts" + }, + { + "id": "paperclip-adapter-selection", + "requirement": "paperclip_runner is selectable without changing legacy adapter behavior", + "deterministicOwner": "server/src/services/native-runtime/runtime-mode.test.ts; server/src/__tests__/heartbeat-native-runner-selection.test.ts" + }, + { + "id": "real-control-plane-binding", + "requirement": "advertised runner tools re-authorize the live company, issue, agent, and run before using real Paperclip services", + "deterministicOwner": "server/src/services/native-runtime/paperclip-runner-tool-authority.test.ts" + }, + { + "id": "real-control-plane-idempotency", + "requirement": "real service mutations are replay-safe and reject conflicting idempotency-key reuse", + "deterministicOwner": "server/src/services/native-runtime/paperclip-runner-tool-authority.test.ts" + }, + { + "id": "paperclip-thread-projection", + "requirement": "committed PRP reasoning and semantic tool items render in the existing Paperclip task chat", + "deterministicOwner": "ui/src/adapters/paperclip-runner/index.test.ts; server/src/services/native-runtime/paperclip-control-plane-port.test.ts" } ] }