AI Slop Code Risk Monitor

tauri-apps/wry

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

Cross-platform WebView library in Rust for Tauri.

2.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for tauri-apps/wry, a Rust project with 5,035 GitHub stars. SynthScan examined 21,630 lines of code across 109 source files, recording 86 pattern matches distributed across 2 syntactic categories. The legacy adjusted pattern signal is 2.8 (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.

2.8
Adjusted Signal
2.8
Raw Pattern Score
100%
Time Factor
2026-10-28
Last Push
5.0K
Stars
Rust
Language
21.6K
Lines of Code
109
Files
86
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 13.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 18.0/100 · LOW

Which changes need focused human review? 86 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 0LOW 86

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 86 distinct pattern matches across 2 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 Block85 hits · 60 pts
SeverityFileLineSnippetContext
LOWMOBILE.md241 # Project name (hello):COMMENT
LOWsrc/error.rs1/// Convenient type alias of Result type for wry.COMMENT
LOWsrc/error.rs21 #[error(transparent)]COMMENT
LOWsrc/error.rs41 #[error("WebView2 error: {0}")]COMMENT
LOWsrc/error.rs61 #[error("not on the main thread")]COMMENT
LOWsrc/lib.rs1// Copyright 2020-2023 Tauri Programme within The Commons ConservancyCOMMENT
LOWsrc/lib.rs21//!COMMENT
LOWsrc/lib.rs41//!COMMENT
LOWsrc/lib.rs61//! # use tao::platform::unix::WindowExtUnix;COMMENT
LOWsrc/lib.rs81//! # use wry::{WebViewBuilder, raw_window_handle, Rect, dpi::*};COMMENT
LOWsrc/lib.rs101//! self.window = Some(window);COMMENT
LOWsrc/lib.rs121//! # #[cfg(target_os = "linux")]COMMENT
LOWsrc/lib.rs141//! vbox.pack_start(&fixed, true, true, 0);COMMENT
LOWsrc/lib.rs161//! struct App {COMMENT
LOWsrc/lib.rs181//! while gtk::events_pending() {COMMENT
LOWsrc/lib.rs201//!COMMENT
LOWsrc/lib.rs221//! pkg-configCOMMENT
LOWsrc/lib.rs241//! "webkitgtk" ; Web content engine fot GTK+COMMENT
LOWsrc/lib.rs261//! WebView2 provided by Microsoft Edge Chromium is used. So wry supports Windows 7, 8, 10 and 11.COMMENT
LOWsrc/lib.rs281//! tao::android_binding!(COMMENT
LOWsrc/lib.rs301//! for the crate to work. This feature was added in preparation of other ports like cef and servo.COMMENT
LOWsrc/lib.rs321//! </td>COMMENT
LOWsrc/lib.rs501 pub webview: webkit2gtk::WebView,COMMENT
LOWsrc/lib.rs541COMMENT
LOWsrc/lib.rs561 /// The color uses the RGBA format.COMMENT
LOWsrc/lib.rs581COMMENT
LOWsrc/lib.rs601 /// - **Windows:** the string can not be larger than 2 MB (2 * 1024 * 1024 bytes) in total sizeCOMMENT
LOWsrc/lib.rs621 ///COMMENT
LOWsrc/lib.rs641 /// locate your files in those directories. For more information, see [Loading in-app content](https://developer.andCOMMENT
LOWsrc/lib.rs661 /// - **Windows:** This will disable the HTML Drag and Drop APIs like `draggable="true"`,COMMENT
LOWsrc/lib.rs681 pub download_started_handler: Option<Box<dyn FnMut(String, &mut PathBuf) -> bool + 'static>>,COMMENT
LOWsrc/lib.rs701 ///COMMENT
LOWsrc/lib.rs721 /// but requires `devtools` feature flag to actually enable it in **release** builds.COMMENT
LOWsrc/lib.rs741 pub back_forward_navigation_gestures: bool,COMMENT
LOWsrc/lib.rs761 pub on_page_load_handler: Option<Box<dyn Fn(PageLoadEvent, String)>>,COMMENT
LOWsrc/lib.rs781 /// Whether background throttling should be disabled.COMMENT
LOWsrc/lib.rs801 /// The handler receives the [`PermissionKind`] and should returnCOMMENT
LOWsrc/lib.rs821 /// # use wry::{WebViewBuilder, PermissionKind, PermissionResponse};COMMENT
LOWsrc/lib.rs961 /// Specify the webview background color. This will be ignored if `transparent` is set to `true`.COMMENT
LOWsrc/lib.rs981 }COMMENT
LOWsrc/lib.rs1001 ///COMMENT
LOWsrc/lib.rs1021 /// .with_initialization_script_for_main_only("console.log('Running main frame and sub frames')", false)COMMENT
LOWsrc/lib.rs1061 /// servers which enforce CORS will need to add exact same Origin header in `Access-Control-Allow-Origin`COMMENT
LOWsrc/lib.rs1121 ///COMMENT
LOWsrc/lib.rs1181 self.attrs.ipc_handler = Some(Box::new(handler));COMMENT
LOWsrc/lib.rs1201 whereCOMMENT
LOWsrc/lib.rs1221 self.attrs.url = Some(url.into());COMMENT
LOWsrc/lib.rs1241 selfCOMMENT
LOWsrc/lib.rs1261 self.attrs.html = Some(html.into());COMMENT
LOWsrc/lib.rs1281 /// ## Platform-specificCOMMENT
LOWsrc/lib.rs1301 self.attrs.zoom_hotkeys_enabled = zoom;COMMENT
LOWsrc/lib.rs1321 /// > allowed or denied a permission persistently within the webview, the browserCOMMENT
LOWsrc/lib.rs1341 /// PermissionKind::Camera => PermissionResponse::Allow,COMMENT
LOWsrc/lib.rs1361 /// By default a handler that allows all downloads is set to match browser behavior.COMMENT
LOWsrc/lib.rs1401 ///COMMENT
LOWsrc/lib.rs1481 selfCOMMENT
LOWsrc/lib.rs1501COMMENT
LOWsrc/lib.rs1521 /// elements in some cases. When this option is `false`, that autofillCOMMENT
LOWsrc/lib.rs1541 /// # Panics:COMMENT
LOWsrc/lib.rs1561 /// Although this methods only needs an X11 window handle, you use webkit2gtk, so you still need to initialize gtkCOMMENT
25 more matches not shown…
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/wkwebview/mod.rs791 // we need to check if the callback exists outside the handler otherwise it's a segfaultCOMMENT