This is an automated email from the ASF dual-hosted git repository.

shuke987 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 0c2c2d5d687 [improvement](ci) Refresh qualified local review models 
(#68598)
0c2c2d5d687 is described below

commit 0c2c2d5d68715a96098e4a8fd5d29790071a239e
Author: shuke <[email protected]>
AuthorDate: Tue Sep 29 11:07:47 2026 +0800

    [improvement](ci) Refresh qualified local review models (#68598)
    
    Related PR: https://github.com/apache/doris-skills/pull/14
    Local PASS receipts from GPT-6 Sol and Claude Opus 5.5 are currently
    rejected, while receipts from GPT-5.6 Sol and Claude Opus 5 are still
    accepted.
---
 .../scripts/test_validate_review_pass_comment.py   | 45 +++++++++++++++-------
 .github/scripts/validate_review_pass_comment.py    |  6 +--
 2 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/.github/scripts/test_validate_review_pass_comment.py 
b/.github/scripts/test_validate_review_pass_comment.py
index e91159909b2..d0c4a4b84cf 100644
--- a/.github/scripts/test_validate_review_pass_comment.py
+++ b/.github/scripts/test_validate_review_pass_comment.py
@@ -24,7 +24,7 @@ def make_comment(**overrides: str) -> str:
         "base": BASE_SHA,
         "reviewed_at": "2026-08-18T12:01+00:00",
         "reviewer": "doris-committer",
-        "model": "gpt-5.6-sol",
+        "model": "gpt-6-sol",
         "effort": "xhigh",
         "findings": "{blocker: 0, major: 0, minor: 1, nit: 2}",
         "rounds": "2",
@@ -68,17 +68,17 @@ def validate(comment: str, **overrides: object) -> 
dict[str, object]:
 class ValidateReviewPassCommentTest(unittest.TestCase):
     def test_accepts_allowed_model_effort_combinations(self) -> None:
         combinations = (
-            ("claude-opus-5", "xhigh"),
-            ("claude-opus-5", "max"),
-            ("claude-opus-5[1m]", "xhigh"),
-            ("claude-opus-5[1m]", "max"),
+            ("claude-opus-5-5", "xhigh"),
+            ("claude-opus-5-5", "max"),
+            ("claude-opus-5-5[1m]", "xhigh"),
+            ("claude-opus-5-5[1m]", "max"),
             ("claude-fable-5", "xhigh"),
             ("claude-fable-5", "max"),
             ("claude-fable-5[1m]", "xhigh"),
             ("claude-fable-5[1m]", "max"),
-            ("gpt-5.6-sol", "xhigh"),
-            ("gpt-5.6-sol", "max"),
-            ("gpt-5.6-sol", "ultra"),
+            ("gpt-6-sol", "xhigh"),
+            ("gpt-6-sol", "max"),
+            ("gpt-6-sol", "ultra"),
             ("claude-fable-5-1", "xhigh"),
             ("claude-fable-5-1", "max"),
             ("claude-fable-5-1[1m]", "xhigh"),
@@ -94,8 +94,8 @@ class ValidateReviewPassCommentTest(unittest.TestCase):
 
     def test_rejects_ultra_for_claude_models(self) -> None:
         for model in (
-            "claude-opus-5",
-            "claude-opus-5[1m]",
+            "claude-opus-5-5",
+            "claude-opus-5-5[1m]",
             "claude-fable-5",
             "claude-fable-5[1m]",
             "claude-fable-5-1",
@@ -105,9 +105,28 @@ class ValidateReviewPassCommentTest(unittest.TestCase):
                 with self.assertRaisesRegex(ValidationError, "is not allowed 
for model"):
                     validate(make_comment(model=model, effort="ultra"))
 
-    def test_rejects_effort_below_xhigh(self) -> None:
-        with self.assertRaisesRegex(ValidationError, "is not allowed for 
model"):
-            validate(make_comment(effort="high"))
+    def test_rejects_retired_models(self) -> None:
+        for model in ("gpt-5.6-sol", "claude-opus-5", "claude-opus-5[1m]"):
+            for effort in ("xhigh", "max", "ultra"):
+                with self.subTest(model=model, effort=effort):
+                    with self.assertRaisesRegex(ValidationError, "model is not 
allowed"):
+                        validate(make_comment(model=model, effort=effort))
+
+    def test_rejects_lower_and_unknown_efforts(self) -> None:
+        for model in (
+            "claude-opus-5-5",
+            "claude-opus-5-5[1m]",
+            "claude-fable-5",
+            "claude-fable-5[1m]",
+            "claude-fable-5-1",
+            "claude-fable-5-1[1m]",
+            "gpt-6-sol",
+            "gpt-6-astra",
+        ):
+            for effort in ("none", "minimal", "low", "medium", "high", 
"unknown", ""):
+                with self.subTest(model=model, effort=effort):
+                    with self.assertRaisesRegex(ValidationError, "is not 
allowed for model"):
+                        validate(make_comment(model=model, effort=effort))
 
     def test_rejects_unlisted_model(self) -> None:
         with self.assertRaisesRegex(ValidationError, "model is not allowed"):
diff --git a/.github/scripts/validate_review_pass_comment.py 
b/.github/scripts/validate_review_pass_comment.py
index ff9e3399c6c..0dffb27f9ff 100644
--- a/.github/scripts/validate_review_pass_comment.py
+++ b/.github/scripts/validate_review_pass_comment.py
@@ -16,13 +16,13 @@ SCHEMA = "doris-repo-review/v1"
 MAX_BASE_LAG = dt.timedelta(hours=48)
 
 ALLOWED_EFFORTS_BY_MODEL = {
-    "claude-opus-5": frozenset({"xhigh", "max"}),
-    "claude-opus-5[1m]": frozenset({"xhigh", "max"}),
+    "claude-opus-5-5": frozenset({"xhigh", "max"}),
+    "claude-opus-5-5[1m]": frozenset({"xhigh", "max"}),
     "claude-fable-5": frozenset({"xhigh", "max"}),
     "claude-fable-5[1m]": frozenset({"xhigh", "max"}),
     "claude-fable-5-1": frozenset({"xhigh", "max"}),
     "claude-fable-5-1[1m]": frozenset({"xhigh", "max"}),
-    "gpt-5.6-sol": frozenset({"xhigh", "max", "ultra"}),
+    "gpt-6-sol": frozenset({"xhigh", "max", "ultra"}),
     "gpt-6-astra": frozenset({"xhigh", "max", "ultra"}),
 }
 ALLOWED_AUTHOR_PERMISSIONS = frozenset({"write", "admin"})


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to