AI Slop Code Risk Monitor

DioxusLabs/blitz

SlopCodeMonitor badge for DioxusLabs/blitz Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A radically modular HTML/CSS rendering engine

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for DioxusLabs/blitz, a Rust project with 4,329 GitHub stars. SynthScan examined 122,615 lines of code across 446 source files, recording 150 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 1.3 (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.

1.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
4.3K
Stars
Rust
Language
122.6K
Lines of Code
446
Files
150
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 5.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 0.4/100 · LOW

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

PR Review Velocity Impact 6.2/100 · LOW

Which changes need focused human review? 150 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 3LOW 147

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 150 distinct pattern matches across 6 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 Block120 hits · 120 pts
SeverityFileLineSnippetContext
LOWCargo.toml301# anyrender_vello = { path = "../anyrender/crates/anyrender_vello" }COMMENT
LOWCargo.toml321# [patch.crates-io]COMMENT
LOWtests/stylo_usage.rs1//! Minimal example of using StyloCOMMENT
LOWtests/stylo_usage.rs21// };COMMENT
LOWtests/stylo_usage.rs41// "#;COMMENT
LOWtests/stylo_usage.rs61// // // handle_reflowCOMMENT
LOWtests/stylo_usage.rs81// // QUIRKS_MODE,COMMENT
LOWtests/stylo_usage.rs101// // //COMMENT
LOWtests/stylo_usage.rs121// // );COMMENT
LOWtests/stylo_usage.rs141// // options: GLOBAL_STYLE_DATA.options.clone(),COMMENT
LOWtests/blitz-tests/tests/stale_dirty_descendants.rs1//! Hover invalidation must keep working after a restyle which visits aCOMMENT
LOWtests/blitz-tests/tests/stale_node_mapping.rs1//! Regression tests for node removal in `dioxus-native-dom`.COMMENT
LOWtests/blitz-tests/tests/oof_dynamic_cb.rs1//! Dynamic containing-block changes: when a style change adds or removes aCOMMENT
LOWtests/blitz-tests/tests/render_blocking_stylesheet.rs1//! Regression test for https://github.com/DioxusLabs/blitz/issues/689COMMENT
LOW…litz-tests/tests/interaction_state_canonicalization.rs61/// A block container with mixed inline/block children: the inline-block spanCOMMENT
LOWtests/blitz-tests/tests/style_property_invalidation.rs1//! Styles must be invalidated when the only change since the last re-renderCOMMENT
LOWtests/blitz-tests/tests/interaction_state_teardown.rs1//! When a node referenced by interaction state is removed, the usual teardownCOMMENT
LOWtests/blitz-tests/tests/incremental_oracle.rs1//! Equivalence oracle between incremental and non-incremental layout.COMMENT
LOWtests/blitz-tests/tests/stale_interaction_state.rs1//! Interaction state (hover/active/focus/mousedown) must never retain NodeIdsCOMMENT
LOWtests/blitz-tests/tests/br_trailing_line.rs1//! A forced line break (`<br>`) at the end of a block's inline content endsCOMMENT
LOWwpt/runner/src/net_provider.rs241 queue: Arc<InternalQueue<T>>,COMMENT
LOWwpt/runner/src/test_runners/mod.rs121pub fn run_document_scripts(ctx: &ThreadCtx, document: BaseDocument) -> ScriptDocument {COMMENT
LOWwpt/runner/src/test_runners/harness_test.rs21/// function provided by blitz-vibey-script.COMMENT
LOWexamples/gradient.rs61COMMENT
LOWexamples/transparent/src/main.rs1// On Windows do NOT show a console window when opening the appCOMMENT
LOWexamples/assets/clip-path.html41 #c6 { background: #457b9d; } /* dusty blue */COMMENT
LOWpackages/blitz-vibey-script/src/lib.rs1//! JavaScript execution on top of BlitzCOMMENT
LOWpackages/blitz-vibey-script/src/state.rs61/// collections. That is sound because Boa GC handles held outside of the GCCOMMENT
LOWpackages/blitz-vibey-script/src/state.rs81 /// The clock driving timer deadlines and `Date`COMMENT
LOWpackages/blitz-vibey-script/src/document.rs61 let mut mutr = doc.mutate();COMMENT
LOWpackages/blitz-vibey-script/src/document.rs101 ///COMMENT
LOWpackages/blitz-vibey-script/src/document.rs241COMMENT
LOWpackages/blitz/src/lib.rs1#![cfg_attr(docsrs, feature(doc_cfg))]COMMENT
LOWpackages/blitz/src/lib.rs21};COMMENT
LOWpackages/accesskit_xplat/src/lib.rs1// Copyright 2022 The AccessKit Authors. All rights reserved.COMMENT
LOWpackages/accesskit_xplat/src/lib.rs21//! use std::sync::Arc;COMMENT
LOWpackages/accesskit_xplat/src/lib.rs41//!COMMENT
LOWpackages/accesskit_xplat/src/lib.rs61//! /// and before it is handled by the application.COMMENT
LOWpackages/accesskit_xplat/src/lib.rs81//! }COMMENT
LOWpackages/accesskit_xplat/src/lib.rs181 /// before the window is shown for the first time. This means that you mustCOMMENT
LOWpackages/dioxus-native-dom/src/dioxus_document.rs41/// ### ExampleCOMMENT
LOWpackages/blitz-dom/src/query_selector.rs61 /// - Ok(Some(node_id)) with the first node ID that matches if one is foundCOMMENT
LOWpackages/blitz-dom/src/query_selector.rs81 let selector_list = self.try_parse_selector_list(selector)?;COMMENT
LOWpackages/blitz-dom/src/query_selector.rs141 }COMMENT
LOWpackages/blitz-dom/src/stylo.rs1301 // before_change_style: Option<Arc<ComputedValues>>,COMMENT
LOWpackages/blitz-dom/src/stylo.rs1441/// be flushed to the pseudo-element's node - along with the damage they imply -COMMENT
LOWpackages/blitz-dom/src/stylo.rs1541 &el.background_images,COMMENT
LOWpackages/blitz-dom/src/stylo.rs1561 // let size = mem::size_of::<StyleSharingCandidate<BlitzNode>>();COMMENT
LOWpackages/blitz-dom/src/net.rs41///COMMENT
LOWpackages/blitz-dom/src/resolve.rs41 .first_element_child()COMMENT
LOWpackages/blitz-dom/src/resolve.rs121 // after layout and transforms so that stacking-context roots created byCOMMENT
LOWpackages/blitz-dom/src/config.rs21 Parallel,COMMENT
LOWpackages/blitz-dom/src/config.rs41 pub net_provider: Option<Arc<dyn NetProvider>>,COMMENT
LOWpackages/blitz-dom/src/lib.rs1//! The core DOM abstraction in BlitzCOMMENT
LOWpackages/blitz-dom/src/lib.rs21//! they want.COMMENT
LOWpackages/blitz-dom/src/tree.rs21COMMENT
LOWpackages/blitz-dom/src/selection.rs1//! Text selection state and logic for non-input elements.COMMENT
LOWpackages/blitz-dom/src/stylo_to_kurbo.rs61 .transformCOMMENT
LOWpackages/blitz-dom/src/document.rs281 id: usize,COMMENT
LOWpackages/blitz-dom/src/document.rs321 /// The Stylo engineCOMMENT
60 more matches not shown…
Fake / Example Data14 hits · 17 pts
SeverityFileLineSnippetContext
LOW⚡examples/inline.rs18 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOW⚡examples/inline.rs18 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOW⚡examples/inline.rs25 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOW⚡examples/inline.rs25 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOW⚡examples/inline.rs32 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOW⚡examples/inline.rs32 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit ametCODE
LOWexamples/assets/float-width.html31 <p>First paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt utCODE
LOWexamples/assets/float-width.html31 <p>First paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt utCODE
LOWexamples/assets/animated_layout.html48 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam faucibus tortor orci, nec tempus nisl rhoncus CODE
LOWexamples/assets/animated_layout.html48 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam faucibus tortor orci, nec tempus nisl rhoncus CODE
LOWpackages/blitz-vibey-script/tests/preact.rs116 .attr(blitz_dom::local_name!("placeholder"))CODE
LOWpackages/blitz-vibey-script/src/dom/element.rs102 "placeholder",CODE
LOW…es/blitz-vibey-script/src/dom/element/form_controls.rs15 attr_getter("placeholder", this, context)CODE
LOW…es/blitz-vibey-script/src/dom/element/form_controls.rs22 attr_setter("placeholder", this, args, context)CODE
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMpackages/blitz-dom/src/layout/mod.rs541 // Absolutely positioned children take no part in the table grid. TheirCOMMENT
MEDIUMpackages/blitz-dom/src/layout/table.rs44 /// Absolutely positioned descendants of the table's row groups and rows (and of theCOMMENT
MEDIUMpackages/blitz-dom/src/layout/table.rs547 // Absolutely positioned boxes are out-of-flow: they are laid out by their containingCOMMENT
LOW.github/workflows/publish-browser.yml194 # # Todo: we want `cargo install dx` to actually just use a prebuilt binary instead of building itCOMMENT
Hyper-Verbose Identifiers9 hits · 9 pts
SeverityFileLineSnippetContext
LOW.github/scripts/test_wpt_diff_to_pr.py105 def test_sorted_aligned_and_marked(self):CODE
LOW.github/scripts/test_wpt_diff_to_pr.py117 def test_subtests_changing_in_both_directions(self):CODE
LOW.github/scripts/test_wpt_diff_to_pr.py129 def test_headline_counts_each_direction(self):CODE
LOW.github/scripts/test_wpt_diff_to_pr.py134 def test_headline_counts_subtests(self):CODE
LOW.github/scripts/test_wpt_diff_to_pr.py170 def test_replaces_existing_section(self):CODE
LOW.github/scripts/test_wpt_area_changes.py27 def test_areas_use_only_url_path(self):CODE
LOW.github/scripts/test_wpt_area_changes.py38 def test_variants_remain_distinct_in_area_totals(self):CODE
LOW.github/scripts/test_wpt_area_changes.py50 def test_counts_changed_areas(self):CODE
LOW.github/scripts/test_wpt_area_changes.py61 def test_nested_areas_sort_before_sibling_with_same_prefix(self):CODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWpackages/dioxus-native-dom/src/events.rs470 // TODO: implement these fields with real valuesCOMMENT
LOWpackages/blitz-dom/src/stylo.rs390 // TODO: implement shadow DOMCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/accesskit_xplat/src/lib.rs13//! ## Example usageCOMMENT