AI Slop Code RIsk Monitor

grpc/grpc-rust

A native gRPC client & server implementation with async/await support.

4.2 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for grpc/grpc-rust, a Rust project with 12,490 GitHub stars. SynthScan examined 126,333 lines of code across 516 source files, recording 565 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 4.2 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

4.2
Adjusted Signal
4.2
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
12.5K
Stars
Rust
Language
126.3K
Lines of Code
516
Files
565
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 18.8/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 561 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

Are imports declared and package/API names verified? 2 finding(s).

Agent Over-Engineering Ratio 0.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 2 finding(s).

PR Review Velocity Impact 20.3/100 · LOW

Which changes need focused human review? 565 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 0MEDIUM 4LOW 561

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 565 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block554 hits · 514 pts
SeverityFileLineSnippetContext
LOWgrpc-protobuf/src/lib.rs141/// across threads),COMMENT
LOWgrpc-protobuf/src/lib.rs161///COMMENT
LOWgrpc-protobuf/src/status.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc-protobuf/src/status.rs41 /// from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates argumentsCOMMENT
LOWgrpc-protobuf/src/status.rs61 AlreadyExists = 6,COMMENT
LOWgrpc-protobuf/src/status.rs81 /// (a) Use `UNAVAILABLE` if the client can retry just the failing call.COMMENT
LOWgrpc-protobuf/src/status.rs101 /// be fixed if the system state changes. For example, a 32-bit fileCOMMENT
LOWgrpc-protobuf/src/server/client_streaming.rs41use crate::server::GrpcStreamingRequest;COMMENT
LOWgrpc-protobuf/src/server/server_streaming.rs41use crate::server::GrpcStreamingResponse;COMMENT
LOWgrpc-protobuf/src/server/mod.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc-protobuf/src/client/mod.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc-protobuf/src/client/mod.rs101 /// allow for sending the request message. Returns an error if the streamCOMMENT
LOW…gen-rust-grpc/src/cpp_source/src/grpc_rust_generator.h1// Copyright 2025 gRPC authors.COMMENT
LOW…gen-rust-grpc/src/cpp_source/src/grpc_rust_generator.h101//COMMENT
LOWtonic-build/src/manual.rs21 * IN THE SOFTWARE.COMMENT
LOWtonic-build/src/manual.rs41//! .input_type("crate::HelloRequest")COMMENT
LOWtonic-build/src/manual.rs61 path::{Path, PathBuf},COMMENT
LOWtonic-build/src/manual.rs261/// This builder can be used to manually define gRPC method, which can be added to a gRPC service,COMMENT
LOWtonic-build/src/manual.rs301impl MethodBuilder {COMMENT
LOWtonic-build/src/lib.rs61COMMENT
LOWtonic-build/src/lib.rs141 pub fn push_mod(&mut self, pattern: impl Into<String>, attr: impl Into<String>) {COMMENT
LOWgrpc-xds/build.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc-xds/src/lib.rs41pub(crate) mod generated {COMMENT
LOWgrpc-xds/src/xds_config.rs41 RouteSource, VirtualHost,COMMENT
LOWgrpc-xds/src/xds_config.rs161 pub(crate) resolution_note: Option<Arc<str>>,COMMENT
LOWgrpc-xds/src/resource/listener.rs41const HTTP_CONNECTION_MANAGER_TYPE_URL: &str = "type.googleapis.com/envoy.extensions.filters.network.http_connection_manCOMMENT
LOWgrpc-xds/src/resource/cluster.rs41// config once the dependency manager and LB policies exist to consume them.COMMENT
LOWgrpc/src/send_future.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/send_future.rs41/// analysis incorrectly believes it is held across the await.COMMENT
LOWgrpc/src/send_future.rs61///COMMENT
LOWgrpc/src/lib.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/attributes.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/attributes.rs81}COMMENT
LOWgrpc/src/macros.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/macros.rs41/// are unmodified.** By default:COMMENT
LOWgrpc/src/macros.rs61/// }COMMENT
LOWgrpc/src/macros.rs81/// // Include message code.COMMENT
LOWgrpc/src/macros.rs121///COMMENT
LOWgrpc/src/core/mod.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/codec/compression.rs41 ///COMMENT
LOWgrpc/src/codec/compression/gzip.rs121 }COMMENT
LOWgrpc/src/server/mod.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/server/mod.rs81 Self::default()COMMENT
LOWgrpc/src/server/mod.rs121/// closes the underlying socket/channel and rejects new incoming connectionsCOMMENT
LOWgrpc/src/server/mod.rs221 /// not notified to shut down gracefully; they run until completion or clientCOMMENT
LOWgrpc/src/server/mod.rs361/// documentation for information about the different types of items and theCOMMENT
LOWgrpc/src/server/mod.rs421/// Represents the receiving side of a server stream.COMMENT
LOWgrpc/src/rt/mod.rs61COMMENT
LOWgrpc/src/status/status_code.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/status/status_code.rs41COMMENT
LOWgrpc/src/status/status_code.rs61 /// even if the operation has completed successfully. For example, aCOMMENT
LOWgrpc/src/status/status_code.rs81 /// instead for those errors). This error code does not imply theCOMMENT
LOWgrpc/src/status/status_code.rs101 /// fails because the directory is non-empty, `FAILED_PRECONDITION`COMMENT
LOWgrpc/src/status/status_code.rs121 /// There is a fair bit of overlap between `FAILED_PRECONDITION` andCOMMENT
LOWgrpc/src/client/channel.rs101 ///COMMENT
LOWgrpc/src/client/channel.rs181 // Optional values.COMMENT
LOWgrpc/src/client/mod.rs21 * IN THE SOFTWARE.COMMENT
LOWgrpc/src/client/mod.rs81/// A gRPC channel begins in the `Idle` state. When an RPC is attempted or whenCOMMENT
LOWgrpc/src/client/mod.rs141}COMMENT
LOWgrpc/src/client/mod.rs241 /// SendStream will do nothing.COMMENT
494 more matches not shown…
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMexamples/data/tls/create.sh3# Create the server CA certs.COMMENT
MEDIUMexamples/data/tls/create.sh15# Create the client CA certs.COMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWgrpc-xds/src/resource/route.rs29// TODO: implement request routing components (virtual-host domain matching, thenCOMMENT
LOWgrpc/src/client/load_balancing/mod.rs405 // TODO: implement me.COMMENT
LOWgrpc/src/client/load_balancing/mod.rs409 // TODO: implement me.COMMENT
Excessive Try-Catch Wrapping2 hits · 3 pts
SeverityFileLineSnippetContext
LOWtools/check_license.py142 except Exception as e:CODE
MEDIUMtools/check_license.py168 print(f"Error running git ls-files: {e}", file=sys.stderr)CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtonic/src/codec/decode.rs336 /// # Return valueCOMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtools/check_license.py10CODE
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMtonic/Cargo.toml57# harness = falseSTRING
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtonic-xds/src/xds/resource/san_matcher.rs301 matcher: Some(exact("user@example.com")),CODE