diff --git a/scripts/pr-review.py b/scripts/pr-review.py index a175d20..55fba73 100644 --- a/scripts/pr-review.py +++ b/scripts/pr-review.py @@ -47,11 +47,13 @@ DEFAULT_MODEL_DEEP = "gpt-5.6-terra" DEFAULT_TEMPERATURE = 0.2 DEFAULT_MAX_COMPLETION_TOKENS = 8192 -DEEP_MAX_COMPLETION_TOKENS = 25000 +# max_completion_tokens is shared by reasoning and visible output. At xhigh +# effort, 25000 was consumed by reasoning alone and produced an empty review. +DEEP_MAX_COMPLETION_TOKENS = 64000 DEFAULT_LLM_TIMEOUT_SECONDS = 120 DEEP_LLM_TIMEOUT_SECONDS = 300 FAST_REASONING_EFFORT = "low" -DEEP_REASONING_EFFORT = "medium" +DEEP_REASONING_EFFORT = "xhigh" class LLMReviewError(RuntimeError): diff --git a/tests/test_pr_review_routing.py b/tests/test_pr_review_routing.py index c207a5a..a8f534b 100644 --- a/tests/test_pr_review_routing.py +++ b/tests/test_pr_review_routing.py @@ -40,7 +40,7 @@ def test_model_defaults_and_mode_routing(self): self.assertEqual(module.model_for_mode("docs"), "gpt-5.6-luna") self.assertEqual(module.model_for_mode("deep"), "gpt-5.6-terra") self.assertEqual(module.FAST_REASONING_EFFORT, "low") - self.assertEqual(module.DEEP_REASONING_EFFORT, "medium") + self.assertEqual(module.DEEP_REASONING_EFFORT, "xhigh") def test_gpt_5_6_payloads_pin_the_requested_reasoning_effort(self): module = load_pr_review_module() @@ -56,13 +56,15 @@ def test_gpt_5_6_payloads_pin_the_requested_reasoning_effort(self): "system prompt", "diff", reasoning_effort=module.DEEP_REASONING_EFFORT, + max_completion_tokens=module.DEEP_MAX_COMPLETION_TOKENS, ) self.assertEqual(ordinary_payload["model"], "gpt-5.6-luna") self.assertEqual(ordinary_payload["reasoning_effort"], "low") self.assertEqual(ordinary_payload["max_completion_tokens"], 8192) self.assertEqual(deep_payload["model"], "gpt-5.6-terra") - self.assertEqual(deep_payload["reasoning_effort"], "medium") + self.assertEqual(deep_payload["reasoning_effort"], "xhigh") + self.assertEqual(deep_payload["max_completion_tokens"], 64000) def test_model_repository_variable_overrides(self): module = load_pr_review_module()