From 3eeb99446d3f5711ecf6be167a9dc9c04fefff77 Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Fri, 4 Sep 2026 17:30:54 +0000 Subject: [PATCH 1/2] fix: reduce deduplication pair review effort to high --- sdk/typescript/README.md | 2 +- sdk/typescript/src/deduplication/deduplication-reviewer.ts | 2 +- sdk/typescript/tests-ts/finding-deduplication.test.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/typescript/README.md b/sdk/typescript/README.md index 6c01e20e4..6cbee5318 100644 --- a/sdk/typescript/README.md +++ b/sdk/typescript/README.md @@ -1560,7 +1560,7 @@ use another workflow ID for a fresh review rather than changing that saved resul 2. Screen each nonempty neighborhood with `gpt-5.6-luna` at `xhigh` reasoning effort. The review covers every anchor-neighbor pair; nominations between neighbors are rejected. -3. Independently review each nominated pair once with `gpt-5.6-sol` at `xhigh` +3. Independently review each nominated pair once with `gpt-5.6-sol` at `high` reasoning effort. Only accepted pairs contribute to duplicate groups. 4. Group accepted duplicate pairs transitively unless a Luna or Sol `DISTINCT` decision contradicts the resulting component. Contradicted components are diff --git a/sdk/typescript/src/deduplication/deduplication-reviewer.ts b/sdk/typescript/src/deduplication/deduplication-reviewer.ts index 5e4c72eea..effcfde7f 100644 --- a/sdk/typescript/src/deduplication/deduplication-reviewer.ts +++ b/sdk/typescript/src/deduplication/deduplication-reviewer.ts @@ -161,7 +161,7 @@ export class CodexDeduplicationReviewer implements DeduplicationReviewer { return await this.runner.run({ stage: "pair-review", model: "gpt-5.6-sol", - effort: "xhigh", + effort: "high", prompt: pairReviewPrompt(findings), schema: { type: "object", diff --git a/sdk/typescript/tests-ts/finding-deduplication.test.ts b/sdk/typescript/tests-ts/finding-deduplication.test.ts index 1c7598908..de6967a81 100644 --- a/sdk/typescript/tests-ts/finding-deduplication.test.ts +++ b/sdk/typescript/tests-ts/finding-deduplication.test.ts @@ -596,8 +596,8 @@ test("keeps recommendation-only screening independent from complete pair reviews calls.map(({ stage, model, effort }) => [stage, model, effort]), ).toEqual([ ["screening", "gpt-5.6-luna", "xhigh"], - ["pair-review", "gpt-5.6-sol", "xhigh"], - ["pair-review", "gpt-5.6-sol", "xhigh"], + ["pair-review", "gpt-5.6-sol", "high"], + ["pair-review", "gpt-5.6-sol", "high"], ]); expect(calls[0]!.prompt).toContain(JSON.stringify({ findings })); expect(calls[1]!.prompt).toContain( From 81383d73dda83d4f04e3b2c629b4bddff325300d Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Fri, 4 Sep 2026 17:43:21 +0000 Subject: [PATCH 2/2] test: align Docker deduplication mock with Sol high --- docker/fixtures/mock-reviews.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/fixtures/mock-reviews.mjs b/docker/fixtures/mock-reviews.mjs index 115de2845..df3e2e4dd 100644 --- a/docker/fixtures/mock-reviews.mjs +++ b/docker/fixtures/mock-reviews.mjs @@ -57,7 +57,10 @@ const server = createServer(async (request, response) => { body.model, stage === "screen" ? "gpt-5.6-luna" : "gpt-5.6-sol", ); - assert.equal(body.reasoning.effort, "xhigh"); + assert.equal( + body.reasoning.effort, + stage === "screen" ? "xhigh" : "high", + ); const tools = body.input .filter((entry) => entry.type === "additional_tools") .flatMap((entry) => entry.tools);