This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/doris-skills.git
The following commit(s) were added to refs/heads/main by this push:
new bc988ff Refresh local review policy for GPT-6 Sol and Opus 5.5 (#14)
bc988ff is described below
commit bc988fffca15a820484eb30f88cc10bfd83020a9
Author: shuke <[email protected]>
AuthorDate: Tue Sep 29 11:05:21 2026 +0800
Refresh local review policy for GPT-6 Sol and Opus 5.5 (#14)
Replace GPT-5.6 Sol and Opus 5 with GPT-6 Sol and Opus 5.5, retaining the
current effort thresholds and Astra/Fable models. Update qualified-runtime
guidance, Sol fallback, and receipt examples. Test new-model receipt rendering
and rejection of retired runtime attestations.
Validation: 71 repository-review contract checks; 160 sender/receiver
combinations; shell syntax and whitespace checks.
---
skills/doris-repo-review/SKILL.md | 2 +-
.../references/pr-comment-format.md | 2 +-
.../references/qualified-runtime.md | 12 ++++++--
.../scripts/review-runtime-policy.sh | 6 ++--
verify/repo-review/post-comment.sh | 18 ++++++++++++
verify/repo-review/runtime-attestation.sh | 25 ++++++++++------
verify/repo-review/runtime-policy.sh | 33 ++++++++++++++++------
7 files changed, 72 insertions(+), 26 deletions(-)
diff --git a/skills/doris-repo-review/SKILL.md
b/skills/doris-repo-review/SKILL.md
index 6a3b148..a33ff36 100644
--- a/skills/doris-repo-review/SKILL.md
+++ b/skills/doris-repo-review/SKILL.md
@@ -618,7 +618,7 @@ Tell the user:
| CI (code-review-runner.yml) | Local |
|---|---|
-| `codex exec --goal` (gpt-5.6-sol, xhigh) | An explicitly selected qualified
lead reviewer |
+| `codex exec --goal` (gpt-6-sol, xhigh) | An explicitly selected qualified
lead reviewer |
| checkout the PR head sha | `align-to-pr.sh` detaches **the current
directory** to the same sha |
| `git diff BASE...HEAD` as the authoritative diff | Same, produced by
`prepare-review-context.sh` |
| "PR changed while preparing" guard | The fetched sha must equal the API head
sha, otherwise a re-run is required |
diff --git a/skills/doris-repo-review/references/pr-comment-format.md
b/skills/doris-repo-review/references/pr-comment-format.md
index c16d755..2f710e0 100644
--- a/skills/doris-repo-review/references/pr-comment-format.md
+++ b/skills/doris-repo-review/references/pr-comment-format.md
@@ -30,7 +30,7 @@ commit: 7f3a91c4e0b25d8a6c1f04b93e27ad5810cf6b42
base: 0b1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f60718293
reviewed_at: 2026-08-17T21:22+08:00
reviewer: morningman
-model: claude-opus-5[1m]
+model: claude-opus-5-5[1m]
effort: max
findings: {blocker: 0, major: 0, minor: 2, nit: 1}
rounds: 2
diff --git a/skills/doris-repo-review/references/qualified-runtime.md
b/skills/doris-repo-review/references/qualified-runtime.md
index 3846d60..391d323 100644
--- a/skills/doris-repo-review/references/qualified-runtime.md
+++ b/skills/doris-repo-review/references/qualified-runtime.md
@@ -4,13 +4,19 @@ Establish the reviewer runtime before reading source. A
pipeline-equivalent revi
| Host | Models | Effort |
|---|---|---|
-| Codex | `gpt-6-astra`, `gpt-5.6-sol` | `xhigh`, `max`, or `ultra` |
-| Claude Code | `claude-fable-5-1`, `claude-fable-5-1[1m]`, `claude-opus-5`,
`claude-opus-5[1m]`, `claude-fable-5`, or `claude-fable-5[1m]` | `xhigh` or
`max` |
+| Codex | `gpt-6-astra`, `gpt-6-sol` | `xhigh`, `max`, or `ultra` |
+| Claude Code | `claude-fable-5-1`, `claude-fable-5-1[1m]`, `claude-opus-5-5`,
`claude-opus-5-5[1m]`, `claude-fable-5`, or `claude-fable-5[1m]` | `xhigh` or
`max` |
Prefer `gpt-6-astra` on Codex and Fable 5.1 on Claude Code, with `xhigh` as
the default
qualified effort. Use another allowlisted model only when explicitly requested
by the user or
when the preferred model is unavailable.
+`gpt-5.6-sol`, `claude-opus-5`, and `claude-opus-5[1m]` are no longer eligible.
+The same policy applies to the lead and every substantive coverage reviewer.
+
+`ultra` is accepted only when the Codex host explicitly exposes and actually
uses that setting.
+The GPT-6 Sol API supports effort only through `max`; do not relabel an API
`max` run as `ultra`.
+
Validate the exact values with:
```bash
@@ -32,7 +38,7 @@ When the current task cannot be retained under the rules
above, spawn one lead r
- `model: "gpt-6-astra"`
- `reasoning_effort: "xhigh"`
-If Astra is unavailable, fall back to `gpt-5.6-sol` with `xhigh`. If the user
explicitly requests
+If Astra is unavailable, fall back to `gpt-6-sol` with `xhigh`. If the user
explicitly requests
another qualified runtime, use its exact model and supported effort instead.
Preserve a current
preferred runtime's qualified effort rather than resetting it to `xhigh`.
diff --git a/skills/doris-repo-review/scripts/review-runtime-policy.sh
b/skills/doris-repo-review/scripts/review-runtime-policy.sh
index 4dbcd77..0b1ed08 100755
--- a/skills/doris-repo-review/scripts/review-runtime-policy.sh
+++ b/skills/doris-repo-review/scripts/review-runtime-policy.sh
@@ -3,7 +3,7 @@
is_eligible_review_model() {
case "$1" in
-
claude-opus-5|claude-opus-5\[1m\]|claude-fable-5|claude-fable-5\[1m\]|claude-fable-5-1|claude-fable-5-1\[1m\]|gpt-5.6-sol|gpt-6-astra)
return 0 ;;
+
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)
return 0 ;;
*) return 1 ;;
esac
}
@@ -12,13 +12,13 @@ is_eligible_review_effort() {
local model="$1"
local effort="$2"
case "$model" in
-
claude-opus-5|claude-opus-5\[1m\]|claude-fable-5|claude-fable-5\[1m\]|claude-fable-5-1|claude-fable-5-1\[1m\])
+
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\])
case "$effort" in
xhigh|max) return 0 ;;
*) return 1 ;;
esac
;;
- gpt-5.6-sol|gpt-6-astra)
+ gpt-6-sol|gpt-6-astra)
case "$effort" in
xhigh|max|ultra) return 0 ;;
*) return 1 ;;
diff --git a/verify/repo-review/post-comment.sh
b/verify/repo-review/post-comment.sh
index 56bcac9..e643630 100755
--- a/verify/repo-review/post-comment.sh
+++ b/verify/repo-review/post-comment.sh
@@ -131,6 +131,24 @@ grep -Fq "findings: {blocker: 0, major: 0, minor: 1, nit:
0}" "$CTX/pr-comment.m
[ -z "${RECEIPT_OUTPUT:-}" ] || cp "$CTX/pr-comment.md" "$RECEIPT_OUTPUT"
pass "verified dry run renders a pipeline-compatible receipt"
+for model in gpt-6-sol claude-opus-5-5 'claude-opus-5-5[1m]'; do
+ "$S/record-review-runtime.sh" --ctx "$CTX" --model "$model" --effort xhigh
>/dev/null
+ "$S/post-pass-comment.sh" --ctx "$CTX" --dry-run > "$TMP_ROOT/dry-run"
+ grep -Fxq "model: $model" "$CTX/pr-comment.md" || fail "new model receipt
is wrong: $model"
+done
+pass "new models render their exact identity in PASS receipts"
+
+# A runtime recorded before the policy change must not bypass the current
allowlist.
+: > "$MOCK_GH_LOG"
+for model in gpt-5.6-sol claude-opus-5 'claude-opus-5[1m]'; do
+ jq -n --arg model "$model" --arg commit "$HEAD_SHA" \
+ '{model: $model, effort: "xhigh", commit: $commit}' >
"$CTX/review-runtime.json"
+ expect_failure "retired attestation cannot post: $model" "is not eligible"
\
+ "$S/post-pass-comment.sh" --ctx "$CTX"
+done
+[ ! -s "$MOCK_GH_LOG" ] || fail "retired attestation attempted a GitHub write"
+"$S/record-review-runtime.sh" --ctx "$CTX" --model gpt-6-astra --effort xhigh
>/dev/null
+
: > "$MOCK_GH_LOG"
MOCK_SAME_COMMENT=0 "$S/post-pass-comment.sh" --ctx "$CTX" > "$TMP_ROOT/create"
grep -Fq -- "--method POST repos/apache/doris/issues/123/comments --input -"
"$MOCK_GH_LOG" \
diff --git a/verify/repo-review/runtime-attestation.sh
b/verify/repo-review/runtime-attestation.sh
index 52551b4..f56045b 100755
--- a/verify/repo-review/runtime-attestation.sh
+++ b/verify/repo-review/runtime-attestation.sh
@@ -28,32 +28,39 @@ write_meta() {
CTX="$TMP_ROOT/ctx"
write_meta "$CTX" "$HEAD_SHA"
-"$RECORDER" --ctx "$CTX" --model gpt-5.6-sol --effort xhigh >/dev/null
+"$RECORDER" --ctx "$CTX" --model gpt-6-sol --effort xhigh >/dev/null
jq -e --arg head "$HEAD_SHA" \
- '.model == "gpt-5.6-sol" and .effort == "xhigh" and .commit == $head' \
+ '.model == "gpt-6-sol" and .effort == "xhigh" and .commit == $head' \
"$CTX/review-runtime.json" >/dev/null || fail "runtime JSON fields are
wrong"
pass "qualified runtime records model, effort, and commit"
-expect_failure "low effort is rejected" "not eligible for model 'gpt-5.6-sol'"
\
- "$RECORDER" --ctx "$CTX" --model gpt-5.6-sol --effort high
+expect_failure "low effort is rejected" "not eligible for model 'gpt-6-sol'" \
+ "$RECORDER" --ctx "$CTX" --model gpt-6-sol --effort high
[ ! -e "$CTX/review-runtime.json" ] || fail "failed replacement left an old
runtime record"
pass "failed replacement removes the old attestation"
-expect_failure "Claude ultra effort is rejected" "not eligible for model
'claude-opus-5'" \
- "$RECORDER" --ctx "$CTX" --model claude-opus-5 --effort ultra
+expect_failure "Claude ultra effort is rejected" "not eligible for model
'claude-opus-5-5'" \
+ "$RECORDER" --ctx "$CTX" --model claude-opus-5-5 --effort ultra
-"$RECORDER" --ctx "$CTX" --model claude-opus-5 --effort max >/dev/null
+"$RECORDER" --ctx "$CTX" --model claude-opus-5-5 --effort max >/dev/null
jq -e --arg head "$HEAD_SHA" \
- '.model == "claude-opus-5" and .effort == "max" and .commit == $head' \
+ '.model == "claude-opus-5-5" and .effort == "max" and .commit == $head' \
"$CTX/review-runtime.json" >/dev/null || fail "supported Claude runtime
was not recorded"
pass "supported Claude effort is recorded"
expect_failure "unlisted model is rejected" "is not eligible" \
"$RECORDER" --ctx "$CTX" --model gpt-5.6-terra --effort xhigh
+for model in gpt-5.6-sol claude-opus-5 'claude-opus-5[1m]'; do
+ "$RECORDER" --ctx "$CTX" --model gpt-6-sol --effort xhigh >/dev/null
+ expect_failure "retired model is rejected: $model" "is not eligible" \
+ "$RECORDER" --ctx "$CTX" --model "$model" --effort xhigh
+ [ ! -e "$CTX/review-runtime.json" ] || fail "retired replacement left an
old runtime record"
+done
+
BAD_CTX="$TMP_ROOT/bad-ctx"
write_meta "$BAD_CTX" deadbeef
expect_failure "short commit is rejected" "not a full SHA" \
- "$RECORDER" --ctx "$BAD_CTX" --model gpt-5.6-sol --effort xhigh
+ "$RECORDER" --ctx "$BAD_CTX" --model gpt-6-sol --effort xhigh
echo "$PASS_COUNT runtime-attestation tests passed"
diff --git a/verify/repo-review/runtime-policy.sh
b/verify/repo-review/runtime-policy.sh
index ce2ed8f..423e124 100755
--- a/verify/repo-review/runtime-policy.sh
+++ b/verify/repo-review/runtime-policy.sh
@@ -18,7 +18,7 @@ fail() {
# shellcheck source=/dev/null
. "$POLICY"
-for model in claude-opus-5 'claude-opus-5[1m]' claude-fable-5
'claude-fable-5[1m]' claude-fable-5-1 'claude-fable-5-1[1m]' gpt-5.6-sol
gpt-6-astra; do
+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; do
is_eligible_review_model "$model" || fail "eligible model rejected: $model"
done
pass "exact model allowlist is accepted"
@@ -30,7 +30,22 @@ for model in claude-opus-4-8 'claude-opus-4-8[1m]'
claude-opus-5.1 claude-fable-
done
pass "unlisted models are rejected"
-for model in claude-opus-5 'claude-opus-5[1m]' claude-fable-5
'claude-fable-5[1m]' claude-fable-5-1 'claude-fable-5-1[1m]'; do
+for model in gpt-5.6-sol claude-opus-5 'claude-opus-5[1m]'; do
+ if is_eligible_review_model "$model"; then
+ fail "retired model accepted: $model"
+ fi
+ for effort in xhigh max ultra; do
+ if is_eligible_review_effort "$model" "$effort"; then
+ fail "retired model effort accepted: $model ($effort)"
+ fi
+ if "$POLICY" check "$model" "$effort" >/dev/null 2>&1; then
+ fail "policy CLI accepted retired model: $model ($effort)"
+ fi
+ done
+done
+pass "retired models are rejected by the policy and CLI"
+
+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]'; do
for effort in xhigh max; do
is_eligible_review_effort "$model" "$effort" \
|| fail "eligible Claude runtime rejected: $model ($effort)"
@@ -38,14 +53,14 @@ for model in claude-opus-5 'claude-opus-5[1m]'
claude-fable-5 'claude-fable-5[1m
done
pass "Claude models accept their supported qualified efforts"
-for model in claude-opus-5 'claude-opus-5[1m]' claude-fable-5
'claude-fable-5[1m]' claude-fable-5-1 'claude-fable-5-1[1m]'; do
+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]'; do
if is_eligible_review_effort "$model" ultra; then
fail "unsupported Claude ultra effort accepted: $model"
fi
done
pass "Claude models reject unsupported ultra effort"
-for model in gpt-5.6-sol gpt-6-astra; do
+for model in gpt-6-sol gpt-6-astra; do
for effort in xhigh max ultra; do
is_eligible_review_effort "$model" "$effort" \
|| fail "eligible Codex runtime rejected: $model ($effort)"
@@ -53,8 +68,8 @@ for model in gpt-5.6-sol gpt-6-astra; do
done
pass "Codex accepts xhigh, max, and ultra"
-for model in claude-opus-5 claude-fable-5-1 'claude-fable-5-1[1m]' gpt-5.6-sol
gpt-6-astra; do
- for effort in minimal low medium high unknown; do
+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; do
+ for effort in none minimal low medium high unknown ''; do
if is_eligible_review_effort "$model" "$effort"; then
fail "ineligible runtime accepted: $model ($effort)"
fi
@@ -62,11 +77,11 @@ for model in claude-opus-5 claude-fable-5-1
'claude-fable-5-1[1m]' gpt-5.6-sol g
done
pass "lower and unknown efforts are rejected for every host"
-"$POLICY" check gpt-5.6-sol xhigh >/dev/null
-if "$POLICY" check gpt-5.6-sol high >/dev/null 2>&1; then
+"$POLICY" check gpt-6-sol xhigh >/dev/null
+if "$POLICY" check gpt-6-sol high >/dev/null 2>&1; then
fail "policy CLI accepted high effort"
fi
-if "$POLICY" check claude-opus-5 ultra >/dev/null 2>&1; then
+if "$POLICY" check claude-opus-5-5 ultra >/dev/null 2>&1; then
fail "policy CLI accepted unsupported Claude ultra effort"
fi
pass "policy CLI enforces model-specific effort allowlists"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]