AI Slop Code Risk Monitor

iced-rs/iced

SlopCodeMonitor badge for iced-rs/iced Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A cross-platform GUI library for Rust, inspired by Elm

3.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for iced-rs/iced, a Rust project with 31,871 GitHub stars. SynthScan examined 107,561 lines of code across 514 source files, recording 406 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 3.7 (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.

3.7
Adjusted Signal
3.7
Raw Pattern Score
100%
Time Factor
2026-10-21
Last Push
31.9K
Stars
Rust
Language
107.6K
Lines of Code
514
Files
406
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 16.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 0.1/100 · LOW

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

PR Review Velocity Impact 18.4/100 · LOW

Which changes need focused human review? 406 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 1MEDIUM 13LOW 392

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 406 distinct pattern matches across 7 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 Block387 hits · 348 pts
SeverityFileLineSnippetContext
LOWcore/src/font.rs81COMMENT
LOWcore/src/renderer.rs61 callback: impl FnOnce(Result<image::Allocation, image::Error>) + Send + 'static,COMMENT
LOWcore/src/length.rs1//! Describe amounts of space accurately.COMMENT
LOWcore/src/widget.rs21COMMENT
LOWcore/src/backend.rs1//! Graphical backends are designed to aid in rendering computer graphics to a monitor.COMMENT
LOWcore/src/backend.rs141pub struct Settings {COMMENT
LOWcore/src/color.rs1//! Manage colors in different color spaces.COMMENT
LOWcore/src/color.rs381}COMMENT
LOWcore/src/lib.rs101COMMENT
LOWcore/src/lib.rs121 /// # let element: Option<()> = Some(());COMMENT
LOWcore/src/event.rs41pub enum Status {COMMENT
LOWcore/src/border.rs21/// #COMMENT
LOWcore/src/image.rs81 Path(Id, PathBuf),COMMENT
LOWcore/src/image.rs221/// A memory allocation of a [`Handle`], often in GPU memory.COMMENT
LOWcore/src/image.rs281COMMENT
LOWcore/src/image.rs301 ///COMMENT
LOWcore/src/padding.rs1//! Space stuff around the perimeter.COMMENT
LOWcore/src/padding.rs21/// # struct Widget;COMMENT
LOWcore/src/content_fit.rs1//! Control the fit of some content (like an image) within a space.COMMENT
LOWcore/src/content_fit.rs21 /// within the window. This won't distort the image or crop/hide any edges,COMMENT
LOWcore/src/content_fit.rs41 Cover,COMMENT
LOWcore/src/rotation.rs1//! Control the rotation of some content (like an image) within a space.COMMENT
LOWcore/src/text.rs41COMMENT
LOWcore/src/text.rs141}COMMENT
LOWcore/src/text.rs161 /// and the font you are displaying in your application.COMMENT
LOWcore/src/text.rs281 pub index: usize,COMMENT
LOWcore/src/text.rs321COMMENT
LOWcore/src/text.rs621COMMENT
LOWcore/src/input_method.rs1//! Listen to input method events.COMMENT
LOWcore/src/input_method.rs81 ///COMMENT
LOWcore/src/input_method.rs101 /// preedit: Some(Preedit { content: "2".to_owned(), selection: None, text_size: None }),COMMENT
LOWcore/src/input_method.rs141 preedit: preedit.as_ref().map(Preedit::to_owned),COMMENT
LOWcore/src/input_method.rs161 /// [`Commit`][Self::Commit] events. You should also start performing IME related requestsCOMMENT
LOWcore/src/input_method.rs181 /// Notifies when the IME was disabled.COMMENT
LOWcore/src/settings.rs21 /// The default [`Font`] to be used.COMMENT
LOWcore/src/settings.rs41 /// By default, it is enabled.COMMENT
LOWcore/src/widget/text.rs1//! Text widgets display information through writing.COMMENT
LOWcore/src/widget/text.rs41/// # mod iced { pub mod widget { pub fn text<T>(t: T) -> iced_core::widget::Text<'static, iced_core::Theme> { unimplemeCOMMENT
LOWcore/src/layout/flex.rs1//! Distribute elements using a flex-based layout.COMMENT
LOWcore/src/mouse/cursor.rs1use crate::{Point, Rectangle, Transformation, Vector};COMMENT
LOWcore/src/window/user_attention.rs1/// The type of user attention to request.COMMENT
LOWcore/src/window/event.rs1use crate::time::Instant;COMMENT
LOWcore/src/window/event.rs41 /// The user has requested for the window to close.COMMENT
LOWcore/src/window/event.rs61 ///COMMENT
LOWcore/src/window/position.rs1use crate::{Point, Size};COMMENT
LOWcore/src/window/level.rs1/// A window level groups windows with respect to their z-position.COMMENT
LOWcore/src/window/settings.rs61COMMENT
LOWcore/src/window/settings.rs81 pub blur: bool,COMMENT
LOWcore/src/window/settings/windows.rs1//! Platform specific settings for Windows.COMMENT
LOWcore/src/window/settings/windows.rs41 /// Let the system decide when to round window corners.COMMENT
LOWcore/src/window/settings/linux.rs1//! Platform specific settings for Linux.COMMENT
LOWcore/src/text/editor.rs821 Sequence(Vec<Self>),COMMENT
LOWcore/src/text/paragraph.rs61 /// Tests whether the provided point is within the boundaries of aCOMMENT
LOWcore/src/text/parser.rs21 /// Creates a new [`Parser`] from its [`Self::Settings`].COMMENT
LOWcore/src/keyboard/key.rs1//! Identify keyboard keys.COMMENT
LOWcore/src/keyboard/key.rs41 ///COMMENT
LOWcore/src/keyboard/key.rs121 fn from(named: Named) -> Self {COMMENT
LOWcore/src/keyboard/key.rs141 /// This key is used enable the ISO Level 3 shift modifier (the standard `Shift` key is theCOMMENT
LOWcore/src/keyboard/key.rs161 /// The `NumLock` or Number Lock key. Used to toggle numpad mode function for interpretingCOMMENT
LOWcore/src/keyboard/key.rs181 /// The `Enter` or `↵` key. Used to activate current selection or accept current input. This keyCOMMENT
327 more matches not shown…
AI Slop Vocabulary11 hits · 33 pts
SeverityFileLineSnippetContext
MEDIUMcore/src/shell.rs13/// A [`Widget`] can leverage a [`Shell`] to trigger changes in an application,COMMENT
MEDIUMcore/src/padding.rs6/// You can leverage the `From` trait to build [`Padding`] conveniently:COMMENT
MEDIUMcore/src/text.rs55 /// calculation of the [`Paragraph`] and leverage metrics hinting.COMMENT
MEDIUMfutures/src/subscription.rs137 /// You can leverage this helper to create a [`Subscription`] that spawnsCOMMENT
MEDIUMwidget/src/themer.rs15/// This widget can be useful to leverage multiple `Theme`COMMENT
MEDIUMwidget/src/component.rs95 /// This method will be called every time the widget tree changes. You can leverage it toCOMMENT
MEDIUMtest/src/lib.rs38//! In this case, we leverage the [`Selector`] implementation of `&str`, which selects a widget by the text it contains.COMMENT
MEDIUMwgpu/src/primitive.rs43 /// If you have complex composition needs, then you can leverageCOMMENT
MEDIUMsrc/lib.rs379//! A common pattern is to leverage this composability to split anCOMMENT
MEDIUMsrc/lib.rs472//! seamless.COMMENT
MEDIUMsrc/time.rs19/// You may care about purity if you want to leverage the `time-travel`COMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHcore/src/widget/operation.rs132/// The animation to apply to a state change, as requested by anCOMMENT
Fake / Example Data4 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡benches/ipsum.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur at elit mollis, dictum nunc non, tempus metus. Sed iaCODE
LOW⚡benches/ipsum.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur at elit mollis, dictum nunc non, tempus metus. Sed iaCODE
LOW⚡benches/ipsum.txt3Cras ullamcorper tincidunt tellus non tempor. Integer pulvinar turpis quam, nec pharetra purus egestas non. Vivamus sed CODE
LOW⚡benches/ipsum.txt3Cras ullamcorper tincidunt tellus non tempor. Integer pulvinar turpis quam, nec pharetra purus egestas non. Vivamus sed CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMfutures/src/subscription.rs136 /// # Creating an asynchronous worker with bidirectional communicationCOMMENT
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMwidget/tests/scrollable.rs1494// ─── Rail (track) interaction ────────────────────────────────────────────────COMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/release_summary.py30CODE