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 6ef2bbd714d Improve Javadoc guidance and remove redundant MCP prose 
(#39191)
6ef2bbd714d is described below

commit 6ef2bbd714d53cddf3e57afd2ac125ae88010715
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jul 20 17:43:19 2026 +0800

    Improve Javadoc guidance and remove redundant MCP prose (#39191)
    
    - distinguish required Javadoc structure from actionable contract details
    - remove repeated collection, inheritance, and annotation descriptions
    - preserve concurrency, ownership, and protocol error semantics
---
 AGENTS.md                                                        | 9 +++++++++
 .../org/apache/shardingsphere/mcp/api/MCPRequestContext.java     | 2 --
 .../apache/shardingsphere/mcp/api/payload/MCPSuccessPayload.java | 5 ++---
 .../org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java    | 9 +--------
 .../shardingsphere/mcp/support/MCPFeatureRequestContext.java     | 2 --
 .../mcp/support/protocol/payload/MCPMapPayload.java              | 3 +--
 6 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md
index 4414b9ad287..a4ea8f7f0b1 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -84,6 +84,15 @@ This guide is written **for AI coding agents only**. Follow 
it literally; improv
       whether an existing boundary should catch and wrap it, and whether 
callers/tests actually depend on the declaration.
       When changing code removes the last checked-exception source, remove 
stale `throws` from private and internal methods by default;
       for public APIs, first apply the public contract propagation gate and 
document any compatibility reason for keeping the declaration.
+    - **Javadoc signal-to-noise gate**:
+      - Follow `CODE_OF_CONDUCT.md`: keep concise summaries and required 
`@param`, `@return`, and `@throws` tags for public APIs and SPIs; do not treat 
this baseline as meaningless repetition.
+      - Add prose beyond that baseline only for contracts not expressed by 
names, signatures, types, annotations, or repository conventions that affect 
caller or implementer behavior,
+        such as concurrency, lifecycle, blocking, state transitions, protocol 
or compatibility boundaries, and exception handling.
+      - Do not restate those visible facts or generic collection properties. 
In particular, do not add statements such as
+        `The returned collection may be empty, but must not be null or contain 
null elements.`
+      - Document an empty collection or another special return value only when 
it has domain meaning and requires the caller to act differently.
+      - Every extra sentence must map to a concrete caller action, implementer 
obligation, compatibility requirement, or failure-handling rule; otherwise 
remove it.
+        Review only Javadocs added or modified within the declared task scope.
     - Do not add or keep Javadocs on methods that only override or implement a 
documented parent method.
       Keep the public contract on the declaring API, SPI, or interface.
       An overriding method should add Javadocs only when it documents 
implementation-specific behavior, stricter preconditions, side effects, 
exceptions, compatibility notes,
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPRequestContext.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPRequestContext.java
index a39f5e5bc8f..8dbb981f5f2 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPRequestContext.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPRequestContext.java
@@ -30,8 +30,6 @@ public interface MCPRequestContext {
     /**
      * Get the identity of the current MCP session.
      *
-     * <p>The identity always contains the MCP session identifier. Trusted 
HTTP attribution is optional and does not represent authentication or 
authorization.</p>
-     *
      * @return MCP session identity
      */
     MCPSessionIdentity getSessionIdentity();
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/payload/MCPSuccessPayload.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/payload/MCPSuccessPayload.java
index a2807bcc5b7..26ec0946dc2 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/payload/MCPSuccessPayload.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/payload/MCPSuccessPayload.java
@@ -24,9 +24,8 @@ import java.util.Map;
 /**
  * Successful MCP application payload.
  *
- * <p>Tool and resource handlers return this type when the MCP operation 
completed normally. A payload may still describe a negative domain result,
- * such as a failed database validation. Controlled execution failures should 
be reported by throwing {@link ShardingSphereMCPException};
- * the runtime converts those failures to the protocol-specific MCP error 
surface.</p>
+ * <p>Tool and resource handlers return this type for normal MCP completion, 
including negative domain results such as failed database validation.
+ * Report controlled execution failures with {@link 
ShardingSphereMCPException}; the runtime converts them to protocol-specific 
errors.</p>
  */
 @FunctionalInterface
 public interface MCPSuccessPayload {
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
index e9ec1738eb5..f61cd1956d1 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
@@ -28,8 +28,7 @@ import java.util.Collection;
 /**
  * MCP handler provider.
  *
- * <p>The provider is loaded as a singleton SPI. Handler instances returned by 
this provider are retained by the runtime and may be invoked concurrently.
- * Implementations must not retain request-scoped state.</p>
+ * <p>Handler instances returned by this provider are retained by the runtime 
and may be invoked concurrently.</p>
  */
 @SingletonSPI
 public interface MCPHandlerProvider extends ShardingSphereSPI {
@@ -37,8 +36,6 @@ public interface MCPHandlerProvider extends ShardingSphereSPI 
{
     /**
      * Get resource handlers.
      *
-     * <p>The returned collection may be empty, but must not be {@code null} 
or contain {@code null} elements.</p>
-     *
      * @return resource handlers
      */
     Collection<MCPResourceHandler<?>> getResourceHandlers();
@@ -46,8 +43,6 @@ public interface MCPHandlerProvider extends ShardingSphereSPI 
{
     /**
      * Get tool handlers.
      *
-     * <p>The returned collection may be empty, but must not be {@code null} 
or contain {@code null} elements.</p>
-     *
      * @return tool handlers
      */
     Collection<MCPToolHandler<?>> getToolHandlers();
@@ -55,8 +50,6 @@ public interface MCPHandlerProvider extends ShardingSphereSPI 
{
     /**
      * Get completion handlers.
      *
-     * <p>The returned collection may be empty, but must not be {@code null} 
or contain {@code null} elements.</p>
-     *
      * @return completion handlers
      */
     Collection<MCPCompletionHandler<?>> getCompletionHandlers();
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/MCPFeatureRequestContext.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/MCPFeatureRequestContext.java
index 9d979af04b5..552ee975273 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/MCPFeatureRequestContext.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/MCPFeatureRequestContext.java
@@ -29,8 +29,6 @@ import java.util.Optional;
 
 /**
  * MCP feature request context.
- *
- * <p>The runtime owns this context. Feature handlers and completion providers 
must use it only during the current synchronous invocation.</p>
  */
 public interface MCPFeatureRequestContext extends MCPRequestContext {
     
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/protocol/payload/MCPMapPayload.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/protocol/payload/MCPMapPayload.java
index 2cc5c4aeea3..3ef5cb3e317 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/protocol/payload/MCPMapPayload.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/protocol/payload/MCPMapPayload.java
@@ -25,8 +25,7 @@ import java.util.Map;
 /**
  * MCP payload adapter for a fully assembled successful payload.
  *
- * <p>This thin adapter returns the supplied payload as-is. It does not copy, 
merge, normalize, validate against a tool schema,
- * classify errors, or build a transport envelope. Callers must finish 
constructing the payload before wrapping it and must not mutate it 
afterwards.</p>
+ * <p>The supplied payload is returned as-is. Callers must finish constructing 
it before wrapping and must not mutate it afterwards.</p>
  */
 @RequiredArgsConstructor
 public final class MCPMapPayload implements MCPSuccessPayload {

Reply via email to