Spring gRPC reference documentation covering server, client, security, and configuration
92
Pending
Does it follow best practices?
Impact
92%
2.19xAverage score across 3 eval scenarios
Pending
The risk profile of this skill
{
"context": "Tests whether the agent correctly wires global server interceptors using @GlobalServerInterceptor and @Order, configures per-service interceptors with blendWithGlobalInterceptors, and registers a GrpcExceptionHandler bean — all as specified in the Spring gRPC server documentation.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Global interceptor annotation",
"description": "LoggingInterceptor bean is annotated with @GlobalServerInterceptor (not manually registered via factory customizer)",
"max_score": 12
},
{
"name": "Interceptor ordering with @Order",
"description": "Both interceptor beans carry @Order annotations with distinct numeric values that place logging before rate limiting",
"max_score": 10
},
{
"name": "Per-service interceptor annotation",
"description": "RateLimitInterceptor is applied via @GrpcService(interceptors = RateLimitInterceptor.class) on the PlaceOrder service (or its config), not as a global interceptor",
"max_score": 12
},
{
"name": "blendWithGlobalInterceptors used",
"description": "The @GrpcService annotation for the rate-limited service includes blendWithGlobalInterceptors = true so global and per-service interceptors are merged",
"max_score": 12
},
{
"name": "GrpcExceptionHandler bean",
"description": "A @Bean method returns a GrpcExceptionHandler (or implementation of it) — not a try/catch inside the service methods",
"max_score": 12
},
{
"name": "Service @Service annotation",
"description": "The gRPC service implementation class is annotated with @Service",
"max_score": 8
},
{
"name": "Extends *ImplBase",
"description": "The service implementation class extends the generated *ImplBase class",
"max_score": 8
},
{
"name": "spring-grpc-dependencies BOM",
"description": "pom.xml uses the spring-grpc-dependencies artifact as a BOM in dependencyManagement (not individual version pins)",
"max_score": 10
},
{
"name": "grpc-services dependency",
"description": "pom.xml includes io.grpc:grpc-services (needed for reflection/health autoconfiguration)",
"max_score": 8
},
{
"name": "Server port property",
"description": "application.properties configures the server port under spring.grpc.server.port (not server.port)",
"max_score": 8
}
]
}evals