From c410c082050e281b27f53102a97886aac5eaa271 Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 26 Oct 2026 21:09:24 -0500 Subject: [PATCH] evals: keep standalone browser privacy canary explicit and opt in --- .../runtime-private-key-canary-receipt.json | 23 +++++++++++++++++++ .../runtime-private-key.test.ts | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tests/runner-e2e/chat-catalog-domains/runtime-private-key-canary-receipt.json diff --git a/tests/runner-e2e/chat-catalog-domains/runtime-private-key-canary-receipt.json b/tests/runner-e2e/chat-catalog-domains/runtime-private-key-canary-receipt.json new file mode 100644 index 00000000000..0aa9ecc5d62 --- /dev/null +++ b/tests/runner-e2e/chat-catalog-domains/runtime-private-key-canary-receipt.json @@ -0,0 +1,23 @@ +{ + "schemaVersion": 1, + "kind": "offline-synthetic-private-browser-control", + "canonicalScenarioMeasurement": false, + "sourceCheckpoint": "1ef868b0ac", + "optInCommand": "PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY=1 node node_modules/vitest/vitest.mjs run --config tests/runner-e2e/vitest.config.ts tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts tests/runner-e2e/chat-catalog-domains/runtime-agent-keys.test.ts", + "focusedControls": { + "passed": 17, + "failed": 0 + }, + "actualPlaywrightTestCanary": { + "passed": true, + "rawApiDebug": true, + "traceVideoScreenshotRequested": true, + "scannedReportAndArtifactFiles": 3, + "scanMethod": "raw emitted file bytes plus raw stdout and stderr streams", + "syntheticCanaryFound": false + }, + "realProviderCalls": 0, + "backendStarted": false, + "realCredentialsUsed": false, + "browserControlDefault": "skipped unless PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY=1" +} diff --git a/tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts b/tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts index aab85414b58..8cc36a88df9 100644 --- a/tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts +++ b/tests/runner-e2e/chat-catalog-domains/runtime-private-key.test.ts @@ -10,7 +10,7 @@ it("rejects a credential field without reflecting its value", () => { catch (error) { expect(String(error)).not.toContain(synthetic); expect(String(error)).toContain("closed boundary"); } }); it("rejects credential text hidden inside safe-looking key metadata", () => expect(() => validatePrivateKeyReceipt({ ...valid(), createdKey: { id: "pcp_SYNTHETIC_PRIVATE_CANARY", name: "local integration", revokedAt: null } })).toThrow()); -it("contains a synthetic one-time UI token entirely inside the standalone browser child", async () => { +it.skipIf(process.env.PAPERCLIP_CHAT_EVAL_PRIVATE_BROWSER_CANARY !== "1")("contains a synthetic one-time UI token entirely inside the standalone browser child", async () => { const synthetic = "pcp_SYNTHETIC_PRIVATE_BROWSER_CANARY_a5bb4e"; const receipt = await privateKeyBrowser({ mode: "canary", baseURL: "http://127.0.0.1:1", cookies: [], canary: synthetic }); expect(receipt).toEqual({ ...valid(), canaryContained: true }); expect(JSON.stringify(receipt)).not.toContain(synthetic);