This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new c0e8ad04c8c Refine review boundaries (#38736)
c0e8ad04c8c is described below
commit c0e8ad04c8c83d94aea528a8c61134e4e88f4819
Author: Liang Zhang <[email protected]>
AuthorDate: Wed May 27 23:30:07 2026 +0800
Refine review boundaries (#38736)
Clarify that PR review should focus on code, tests, behavior,
compatibility, and regression risk rather than GitHub Actions status.
Use repository-declared formatting gates as the authority, limit
multi-round comparison to GitHub-visible review feedback, and add boundary
validation guidance to avoid unnecessary duplicate validation requirements.
---
.codex/skills/review-pr/SKILL.md | 43 ++++++++++++++++++++++++++++++++++------
1 file changed, 37 insertions(+), 6 deletions(-)
diff --git a/.codex/skills/review-pr/SKILL.md b/.codex/skills/review-pr/SKILL.md
index a305d16acdb..2f86ee81f4c 100644
--- a/.codex/skills/review-pr/SKILL.md
+++ b/.codex/skills/review-pr/SKILL.md
@@ -4,7 +4,7 @@ description: >-
Used to review whether an Apache ShardingSphere PR truly fixes the root
cause,
assess side effects and regression risks, and determine whether it can be
safely merged.
If not mergeable, produce committer-tone change request suggestions.
- Supports targeted comparison across multiple review rounds.
+ Supports targeted comparison across GitHub-visible review rounds when prior
PR comments or review threads exist.
---
# Review PR
@@ -70,6 +70,16 @@ description: >-
16. If a method reachable from the Proxy or JDBC DML/DQL high-frequency SQL
execution path uses `ConcurrentHashMap#computeIfAbsent`,
require a preceding `get` lookup and call `computeIfAbsent` only when the
value is missing, to avoid the JDK 8 implementation bottleneck.
If this pattern is absent and the path is high-frequency, bias to `Merge
Verdict: Not Mergeable`.
+17. Do not use GitHub Actions, CI status, or check-run completion as part of
the merge verdict unless explicitly requested by the user.
+18. Use repository-declared formatting/style gates as the formatting
authority; do not introduce extra formatting blockers outside those gates by
default.
+
+## Review Boundary
+
+- Review PR code, tests, behavior, compatibility, regression risk, and scope.
+- Do not inspect or use GitHub Actions, CI status, or check-run completion for
the merge verdict unless the user explicitly asks for CI review.
+- Do not treat CI pending, failing, or passing as a review finding by default;
final approvers and mergers handle that gate.
+- Use the repository-declared formatting and style gates as authority. For
ShardingSphere, Spotless and Checkstyle are the formatting/style gates.
+- Do not treat `git diff --check` as a blocker when it conflicts with
Spotless/Checkstyle behavior, unless the user explicitly asks for that check.
## Execution Boundary
@@ -79,11 +89,13 @@ description: >-
Priority from high to low:
-1. PR facts: diff, commit history, review comments, CI status, check results.
+1. PR facts: diff, commit history, GitHub-visible review comments, and
code/test changes.
2. Related issues in the same repo, relevant module code/tests, historical
behavior (optional git blame/log).
3. ShardingSphere official docs and official repo conventions.
4. External authoritative specs only when necessary (official standards/docs
only).
+CI status and check-runs are out of scope unless explicitly requested by the
user.
+
For SQL parser reviews:
- Prefer the target database's official SQL reference/manual as first-class
evidence.
@@ -139,6 +151,8 @@ When information gaps block mergeability, request at least:
## Review Workflow
+CI/check-run review is not part of this workflow unless explicitly requested;
do not query or report it by default.
+
1. Define target and boundary: restate PR goal, impacted modules, target
topology (JDBC or Proxy, Standalone or Cluster).
2. Root-cause modeling: reconstruct "trigger condition -> failure path ->
result" from issue and code path.
3. Fix mapping: verify each change covers the root-cause chain, not just
symptoms.
@@ -208,6 +222,17 @@ If the root-cause chain cannot be fully proven fixed, set
`Merge Verdict: Not Me
- Operational risk: config migration complexity, gray-release and rollback
complexity.
- Supply-chain risk: vulnerabilities, licenses, transitive dependency changes
from new deps.
+## Boundary Validation Review Guidance
+
+- Identify the authoritative input boundary before requiring validation
changes.
+ Examples: YAML swappers/validators, CLI parsers, REST/API request binders,
SPI loaders, protocol decoders, SQL parsers, or config-center loaders.
+- If the authoritative boundary already rejects invalid input and all
production entry paths pass through it,
+ do not require duplicate validation in downstream value holders, runtime
contexts, or internal DTOs by default.
+- Require downstream validation only when there is evidence of another
production path that bypasses the boundary, public/shared API exposure,
untrusted deserialization,
+ asynchronous/shared ownership risk, or a documented invariant owned by the
downstream type.
+- Prefer tests that prove boundary-to-runtime propagation and adjacent valid
values over adding defensive checks at every layer.
+- If boundary ownership is unclear, ask for production entry-path evidence and
treat duplicate validation as a design question, not an automatic blocker.
+
## Coverage Statement (Required in Every Review)
Each review must declare:
@@ -219,7 +244,10 @@ Each review must declare:
## Multi-Round Change Request Comparison Rules
-When the user provides previous-round feedback or PR adds new commits, perform
incremental comparison:
+Apply this section only when previous feedback exists in GitHub-visible PR
review comments, review threads, or change requests.
+Do not output `Multi-Round Comparison` for local chat-only iterations, private
reviewer analysis, or commit-history-only changes.
+
+When GitHub-visible previous-round feedback exists, perform incremental
comparison:
1. Build a "previous issues list" and mark each as:
- Fixed
@@ -300,7 +328,7 @@ Use committer tone, gentle wording, no emojis; use this
GitHub Markdown skeleton
### Multi-Round Comparison
-- Include only when previous-round feedback exists; summarize closed,
unresolved, and new items.
+- Include only when previous-round feedback exists in GitHub-visible PR
comments, review threads, or change requests.
### Evidence Supplement
@@ -324,9 +352,11 @@ Use this GitHub Markdown skeleton:
- Root-cause fix evidence.
- Risk assessment results proving no unresolved risk.
-### Pre-Merge Checks
+### Verification
-- CI, tests, and compatibility confirmations.
+- Reviewer-run local verification, if any.
+- Test and compatibility evidence from the reviewed code.
+- Do not include GitHub Actions / CI status unless explicitly requested.
```
## Change Request Tone Guidelines
@@ -348,6 +378,7 @@ Use this GitHub Markdown skeleton:
- Do not ignore unrelated changes.
- Do not reuse old conclusions after new commits are added without re-review.
- Do not include emojis in change request text.
+- Do not inspect or report GitHub Actions / CI status unless explicitly
requested.
- Do not output `Mergeable` for a shared-code change unless you have checked
at least one non-target dialect or feature that also uses the changed path.
- Do not output `Mergeable` when local verification omitted `-am` on a
module-scoped Maven run and dependency freshness matters.
- Do not output `Mergeable` when Proxy/JDBC DML/DQL high-frequency SQL paths
directly call `ConcurrentHashMap#computeIfAbsent` without a preceding `get`
miss check.