AI Slop Code RIsk Monitor

eclipse-zenoh/zenoh

zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.

6.2 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for eclipse-zenoh/zenoh, a Rust project with 3,249 GitHub stars. SynthScan examined 222,064 lines of code across 776 source files, recording 1258 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 6.2 (Moderate 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.

6.2
Adjusted Signal
6.2
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
3.2K
Stars
Rust
Language
222.1K
Lines of Code
776
Files
1.3K
Pattern Hits
2026-10-12
Scan Date
0.01
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 24.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.6/100 · LOW

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

Agent Over-Engineering Ratio 1.7/100 · LOW

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

PR Review Velocity Impact 26.5/100 · MEDIUM

Which changes need focused human review? 1258 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 6HIGH 0MEDIUM 27LOW 1225

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 1258 distinct pattern matches across 9 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 Block1214 hits · 1198 pts
SeverityFileLineSnippetContext
LOWCargo.toml1#COMMENT
LOWrustfmt.toml1edition = "2021"COMMENT
LOW.pre-commit-config.yaml1#COMMENT
LOWzenoh-ext/Cargo.toml1#COMMENT
LOWzenoh-ext/tests/advanced.rs1//COMMENT
LOWzenoh-ext/tests/liveliness.rs1//COMMENT
LOWzenoh-ext/examples/Cargo.toml1#COMMENT
LOWzenoh-ext/examples/examples/z_advanced_sub.rs1//COMMENT
LOWzenoh-ext/examples/examples/z_view_size.rs1//COMMENT
LOWzenoh-ext/examples/examples/z_advanced_pub.rs1use std::time::Duration;COMMENT
LOWzenoh-ext/examples/examples/z_member.rs1//COMMENT
LOWzenoh-ext/examples/src/lib.rs1//! Examples on using Zenoh.COMMENT
LOWzenoh-ext/src/advanced_cache.rs1//COMMENT
LOWzenoh-ext/src/publisher_ext.rs1//COMMENT
LOWzenoh-ext/src/publisher_ext.rs21 /// Allow matching [`AdvancedSubscribers`](crate::AdvancedSubscriber) to recover history and/or missed samples.COMMENT
LOWzenoh-ext/src/lib.rs1//COMMENT
LOWzenoh-ext/src/lib.rs21//!COMMENT
LOWzenoh-ext/src/session_ext.rs1//COMMENT
LOWzenoh-ext/src/session_ext.rs21#[zenoh_macros::unstable]COMMENT
LOWzenoh-ext/src/serialization.rs1//COMMENT
LOWzenoh-ext/src/serialization.rs121/// and could be implemented for user-defined types.COMMENT
LOWzenoh-ext/src/serialization.rs141/// deserialized into the given type, an error is returned.COMMENT
LOWzenoh-ext/src/serialization.rs161/// Serializer implementing the [Zenoh serialization format][1].COMMENT
LOWzenoh-ext/src/serialization.rs221COMMENT
LOWzenoh-ext/src/serialization.rs561 T13 / 13,COMMENT
LOWzenoh-ext/src/publication_cache.rs1//COMMENT
LOWzenoh-ext/src/querying_subscriber.rs1//COMMENT
LOWzenoh-ext/src/querying_subscriber.rs121 self,COMMENT
LOWzenoh-ext/src/querying_subscriber.rs821/// Later on, new fetches can be performed again, calling [`FetchingSubscriber::fetch()`](super::FetchingSubscriber::fetCOMMENT
LOWzenoh-ext/src/querying_subscriber.rs841/// .awaitCOMMENT
LOWzenoh-ext/src/querying_subscriber.rs981COMMENT
LOWzenoh-ext/src/querying_subscriber.rs1001 ///COMMENT
LOWzenoh-ext/src/querying_subscriber.rs1021 /// // perform an additional fetchCOMMENT
LOWzenoh-ext/src/querying_subscriber.rs1081///COMMENT
LOWzenoh-ext/src/querying_subscriber.rs1101/// fetching_subscriberCOMMENT
LOWzenoh-ext/src/advanced_subscriber.rs1//COMMENT
LOWzenoh-ext/src/advanced_subscriber.rs101pub struct RecoveryConfig<const CONFIGURED: bool = true> {COMMENT
LOWzenoh-ext/src/advanced_subscriber.rs301 /// [`sample_miss_detection`](crate::AdvancedPublisherBuilder::sample_miss_detection).COMMENT
LOWzenoh-ext/src/advanced_subscriber.rs521 }COMMENT
LOWzenoh-ext/src/advanced_subscriber.rs541/// use zenoh_ext::{AdvancedSubscriberBuilderExt, HistoryConfig, RecoveryConfig};COMMENT
LOWzenoh-ext/src/group.rs1//COMMENT
LOWzenoh-ext/src/subscriber_ext.rs1//COMMENT
LOWzenoh-ext/src/subscriber_ext.rs61 /// will run the given `fetch` function. The user defined `fetch` function should fetch some samples and return themCOMMENT
LOWzenoh-ext/src/subscriber_ext.rs81 /// .wait()COMMENT
LOWzenoh-ext/src/subscriber_ext.rs101COMMENT
LOWzenoh-ext/src/subscriber_ext.rs121 /// .querying()COMMENT
LOWzenoh-ext/src/subscriber_ext.rs141 fn history(self, config: HistoryConfig) -> AdvancedSubscriberBuilder<'a, 'b, 'c, Handler>;COMMENT
LOWzenoh-ext/src/subscriber_ext.rs161#[allow(deprecated)]COMMENT
LOWzenoh-ext/src/subscriber_ext.rs181 ///COMMENT
LOWzenoh-ext/src/subscriber_ext.rs221 ///COMMENT
LOWzenoh-ext/src/subscriber_ext.rs301COMMENT
LOWzenoh-ext/src/subscriber_ext.rs321 /// ```no_runCOMMENT
LOWzenoh-ext/src/subscriber_ext.rs361 fetch,COMMENT
LOWzenoh-ext/src/subscriber_ext.rs381 /// # async fn main() {COMMENT
LOWzenoh-ext/src/advanced_publisher.rs1//COMMENT
LOWzenoh-ext/src/advanced_publisher.rs61}COMMENT
LOWzenoh-ext/src/advanced_publisher.rs81 /// [`heartbeat`](MissDetectionConfig::heartbeat) and [`sporadic_heartbeat`](MissDetectionConfig::sporadic_heartbeatCOMMENT
LOWzenoh-ext/src/advanced_publisher.rs181 /// Changes the [`zenoh::qos::Reliability`] to apply when routing the data.COMMENT
LOWzenoh-ext/src/advanced_publisher.rs301COMMENT
LOWzenoh-ext/src/advanced_publisher.rs321///COMMENT
1154 more matches not shown…
Decorative Section Separators22 hits · 78 pts
SeverityFileLineSnippetContext
MEDIUMzenoh/tests/timestamp_instrumentation.rs34// ─── Helpers ───────────────────────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs103// ─── Builder & Unit Tests ───────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs187// ─── Records Content Verification ───────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs297// ─── Pub/Sub — Same Session ─────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs390// ─── Pub/Sub — Local + Remote Delivery (destination=Any) ────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs554// ─── Pub/Sub — Peer-Peer ─────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs685// ─── Pub/Sub — Routed Client-Router-Client ──────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs898// ─── Delete Operations ──────────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs957// ─── Query/Reply — Local + Remote Delivery ──────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs1116// ─── Query/Reply — Peer-Peer ────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs1263// ─── Query/Reply — Routed ───────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs1358// ─── Reply Error ────────────────────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs1401// ─── Custom Timestamp Callback ──────────────────────────────────────────COMMENT
MEDIUMzenoh/tests/timestamp_instrumentation.rs1572// ─── Querier API ────────────────────────────────────────────────────────COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs401/// ┌───────────────────┐ ┌───────────────────┐COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs404/// └─────/─────────\───┘ └─────/─────────\───┘COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs405/// ┌────/───────────\──┐ ┌────/───────────\──┐COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs411/// └───────────────────┘ └───────────────────┘COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs420/// ┌───────────────────┐ ┌───────────────────┐COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs424/// └─────/─────────\───┘ └─────/─────────\───┘COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs425/// ┌────/───────────\──┐ ┌────/───────────\──┐COMMENT
MEDIUM⚡zenoh/src/net/routing/dispatcher/tables.rs429/// └───────────────────┘ └───────────────────┘COMMENT
Hallucination Indicators6 hits · 70 pts
SeverityFileLineSnippetContext
CRITICALzenoh/src/net/runtime/adminspace.rs249 let cfg_rx = admin.context.runtime.state.config.subscribe();CODE
CRITICALzenoh/src/net/runtime/adminspace.rs263 let cfg_guard = admin.context.runtime.state.config.lock();CODE
CRITICALzenoh/src/net/runtime/adminspace.rs399 let conf = &self.context.runtime.state.config.lock();CODE
CRITICALzenoh/src/net/runtime/adminspace.rs505 let conf = &self.context.runtime.state.config.lock();CODE
CRITICALzenoh/src/net/tests/regions/mod.rs1020 #[tracing::instrument(level = "info", skip(self), fields(from = %self.b2a.face, to = %self.a2b.face.state.zid.short(COMMENT
CRITICALzenoh/src/net/tests/regions/mod.rs1032 #[tracing::instrument(level = "info", skip(self), fields(from = %self.a2b.face, to = %self.b2a.face.state.zid.short(COMMENT
AI Slop Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUM…plementations/posix/posix_shm_provider_backend_talc.rs99 // because of platform specific, our shm segment is >= requested size, so in order to utilizeCOMMENT
MEDIUM…lementations/posix/posix_shm_provider_backend_buddy.rs100 // because of platform specific, our shm segment is >= requested size, so in order to utilizeCOMMENT
MEDIUM…ations/posix/posix_shm_provider_backend_binary_heap.rs132 // because of platform specific, our shm segment is >= requested size, so in order to utilizeCOMMENT
MEDIUMcommons/zenoh-shm/src/metadata/subscription.rs58 // fastest path: try to utilize already existing segmentCOMMENT
MEDIUM…transport/src/unicast/establishment/ext/shm/segment.rs126 // that don't really utilize all the countersCOMMENT
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ns/zenoh-plugin-storage-manager/src/replication/log.rs508 // we need to check if it is older or not than the one we are processing.COMMENT
LOW…-storage-manager/src/replication/core/aligner_reply.rs238 /// it is a `Put` we need to check if a Wildcard Update overwrites it in which case we don'tCOMMENT
LOW…-storage-manager/src/replication/core/aligner_reply.rs428 // We received an EventMetadata, we need to check if we don't have:COMMENT
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippetContext
LOWcommons/zenoh-crypto/src/cipher.rs108 let t4 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOWcommons/zenoh-crypto/src/cipher.rs108 let t4 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborCODE
LOWexamples/examples/z_bytes.rs45 "name": "John Doe",CODE
LOWexamples/examples/z_bytes.rs65 name: String::from("John Doe"),CODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWcommons/zenoh-shm/src/api/provider/shm_provider.rs435 // TODO: implement provider's async signalling instead of this!COMMENT
LOWcommons/zenoh-shm/src/api/provider/shm_provider.rs455 // TODO: implement provider's async signalling instead of this!COMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…s/zenoh-plugin-storage-manager/src/replication/core.rs588/// NOTE: This function is used to process both the `latest_updates` structure and the ReplicationCOMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWzenoh/src/net/routing/dispatcher/resource.rs654 // don't forget to add 1 to the index because of `[1..]` slice aboveCOMMENT