terrymanu commented on PR #38769:
URL: https://github.com/apache/shardingsphere/pull/38769#issuecomment-4598656247

   ### Decision
   
   - **Merge Verdict: Mergeable**
   - **Reviewed Scope:** Latest PR head 
`4757a74581bff9dc57d17aaab0d5b9da1d6dd936`; local merge-base 
`0ee3f817c35aa1bdd269d752ba09c9cc43a7b39e`. Reviewed 
`.github/workflows/e2e-agent.yml`, `.github/workflows/jdk21-subchain-ci.yml`, 
`.github/workflows/mcp-llm-e2e.yml`, and 
`.github/workflows/mcp-llm-usability-e2e.yml`. Local triple-dot file list 
matched GitHub `/pulls/38769/files` exactly, 4/4 files.
   - **Not Reviewed Scope:** GitHub Actions / CI status was intentionally not 
used. No Java production code, SQL parser behavior, runtime MCP protocol 
behavior, or actual E2E job execution was reviewed because the PR only changes 
workflow triggers.
   - **Need Expert Review:** No additional security, parser, concurrency, or 
protocol expert review is required for this workflow-only change.
   
   ### Basis
   
   - The PR addresses the stated root cause: heavyweight MCP, MCP LLM, MCP 
distribution, and agent E2E workflows were too easy to trigger from unrelated 
changes.
   - `e2e-agent.yml:24` now keeps agent E2E focused on 
agent/proxy/JDBC-relevant inputs, while excluding `mcp/**` and release-doc-only 
distribution changes.
   - `jdk21-subchain-ci.yml:49` adds an inline `dorny/paths-filter` gate so the 
MCP HTTP contract, MySQL, and distribution E2E jobs can be selected 
independently after the workflow itself is triggered.
   - `jdk21-subchain-ci.yml:61` uses module-level MCP filters: `mcp/**`, 
`test/e2e/mcp/**`, and `distribution/mcp/**` only for the distribution 
category. This avoids business-directory-level filtering while keeping MCP E2E 
and MCP distribution separated.
   - `mcp-llm-e2e.yml:29` and `mcp-llm-usability-e2e.yml:29` now trigger on MCP 
production module changes plus MCP E2E test harness changes, and no longer 
trigger from MCP distribution-only changes.
   - Adversarial pass:
     - Adjacent-feature path: `distribution/proxy/src/main/java/...` still maps 
to agent E2E, while `distribution/proxy/src/main/release-docs/...` does not.
     - Config/manual path: `workflow_dispatch` remains available and bypasses 
path-filter selectivity as expected.
     - Original symptom path: ordinary root files such as `LICENSE` and 
documentation paths do not match the heavyweight MCP or agent E2E trigger set.
   - No SQL parser behavior, name resolution, routing precedence, shared 
runtime execution path, dependency manifest, or 
`ConcurrentHashMap#computeIfAbsent` hot path is changed.
   
   ### Verification
   
   - GitHub PR metadata checked: latest head 
`4757a74581bff9dc57d17aaab0d5b9da1d6dd936`, changed files count 4.
   - GitHub `/pulls/38769/files` cross-check matched local `git diff $(git 
merge-base refs/remotes/apache/master 
refs/remotes/apache/pr/38769)..refs/remotes/apache/pr/38769 --name-status`.
   - Reviewer-run YAML parsing passed for all 4 changed workflow files.
   - Reviewer-run workflow standards check passed: no duplicate job names, no 
missing timeout on non-reusable jobs, no timeout greater than 60 minutes.
   - Reviewer-run search found no residual `.specify`, `mcp/pom.xml`, or 
`mcp/api/**` style MCP submodule filters in `.github/workflows`.
   - Reviewer-run path-filter counterexamples matched expected scope:
     - `LICENSE` and docs paths trigger none of these heavyweight workflows.
     - `mcp/api/src/main/java/...` triggers JDK21 MCP, LLM smoke, and LLM 
usability workflows.
     - `distribution/mcp/...` triggers JDK21 MCP distribution coverage only.
     - `agent/core/src/main/java/...` and `test/e2e/agent/...` still trigger 
agent E2E.
   - `./mvnw checkstyle:check -Pcheck -T1C`: passed.
   - `./mvnw apache-rat:check -Pcheck -T1C`: passed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to