AI Slop Code Risk Monitor

qarmin/czkawka

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

Multi functional app to find duplicates, empty folders, similar images etc.

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for qarmin/czkawka, a Fluent project with 34,662 GitHub stars. SynthScan examined 79,969 lines of code across 357 source files, recording 84 pattern matches distributed across 9 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-31
Last Push
34.7K
Stars
Fluent
Language
80.0K
Lines of Code
357
Files
84
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 4.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 59 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 2.5/100 · LOW

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

PR Review Velocity Impact 7.4/100 · LOW

Which changes need focused human review? 84 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 17LOW 66

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 84 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 Block37 hits · 37 pts
SeverityFileLineSnippetContext
LOWCargo.toml21#[patch.crates-io]COMMENT
LOWczkawka_core/i18n.toml1# (Required) The language identifier of the language used in theCOMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs1// // Benchmark Vec<u8> (current ImHash) vs [u8; N] (const-generic candidate)COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs21// // -------- Metric implementations --------COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs41// fn threshold_distance(&self, a: &Vec<u8>, b: &Vec<u8>, threshold: u32) -> Option<u32> {COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs61// (0..n).map(|_| (0..byte_size).map(|_| rng.random::<u8>()).collect()).collect()COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs81// g.measurement_time(Duration::from_millis(1200));COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs101// macro_rules! arr_bench {COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs121//COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs141// });COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs161// for h in &dataset {COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs181// tree.add(*h);COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs201//COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs221// ($n:literal) => {{COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs241//COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs261// group.bench_function(BenchmarkId::new("arr", $n), |b| {COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs281//COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs301// macro_rules! arr_bench {COMMENT
LOWczkawka_core/benches/similar_images_hash_benchmark.rs321// arr_bench!(128);COMMENT
LOWczkawka_core/src/common/config_cache_path.rs21}COMMENT
LOWczkawka_core/src/common/build_runtime_info.rs1use std::sync::{OnceLock, RwLock};COMMENT
LOWczkawka_core/src/helpers/debug_timer.rs1use std::time::{Duration, Instant};COMMENT
LOWczkawka_core/src/helpers/debug_timer.rs21///COMMENT
LOWczkawka_core/src/helpers/debug_timer.rs41/// println!("{}", report);COMMENT
LOWczkawka_core/src/helpers/ffprobe.rs1//! Simple wrapper for the [ffprobe](https://ffmpeg.org/ffprobe.html) CLI utility,COMMENT
LOWczkawka_gui/i18n.toml1# (Required) The language identifier of the language used in theCOMMENT
LOWczkawka_gui/src/gui_structs/common_upper_tree_view.rs41 // pub fn get_current_page(&self) -> Option<NotebookMainEnum {COMMENT
LOWci_tester/src/advanced_tests.rs141COMMENT
LOWci_tester/src/advanced_tests.rs301 )?;COMMENT
LOWci_tester/src/advanced_tests.rs381COMMENT
LOWci_tester/src/advanced_tests.rs501 ensure_exists(&format!("{dir}/ref2/file_b.bin"))?;COMMENT
LOWci_tester/src/advanced_tests.rs541 // Only one copy was visible → no duplicates → both files surviveCOMMENT
LOWci_tester/src/test_file_system.rs1//! In-memory representation of the test file tree.COMMENT
LOWci_tester/src/test_file_system.rs21//! | Images/A2.jpg | 8 772 | 2023-10-12 15:21 | oldest jpg (tied A5) |COMMENT
LOWcedinia/Cargo.toml101# CediniaPickerFragment (android.app.Fragment) attached at runtime from theCOMMENT
LOWcedinia/android/asan_wrap.sh1#!/system/bin/shCOMMENT
LOWkrokiet/i18n.toml1# (Required) The language identifier of the language used in theCOMMENT
Excessive Try-Catch Wrapping22 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMmisc/find_unused_callbacks.py73 print(f"Error: {callabler_path} not found")CODE
MEDIUMmisc/find_unused_callbacks.py92 print(f"Error: Callback {format_green(callback)} has NO Rust implementation")CODE
MEDIUMmisc/find_unused_callbacks.py95 print(f"Error: Callback {format_green(callback)} has {len(matches)} Rust implementations (expected 1)")CODE
MEDIUMmisc/simplify_and_minify_svg.py18 print(f"Error: {result.stderr}")CODE
LOWmisc/find_unused_settings_properties.py58 except Exception as e:CODE
MEDIUMmisc/find_unused_settings_properties.py78 print(f"Error: settings.slint not found under {project_root / folder / 'ui'}")CODE
LOWmisc/remove_comments.py200 except Exception as e:CODE
MEDIUMmisc/find_unused_slint_translations.py74 print(f"Error: Could not find a translation Rust file in {folder}/src/ (tried: {translation_rs_candidates})")CODE
LOWmisc/gen_test_assets.py41except Exception as exc:CODE
LOWmisc/gen_test_assets.py54except Exception as exc:CODE
LOWmisc/ai_translate/translate.py189 except Exception as e:CODE
MEDIUMmisc/ai_translate/translate.py297 print(f"Error: English folder not found at {en_folder}")CODE
MEDIUMmisc/ai_translate/translate.py302 print(f"Error: No FTL file found in {en_folder}")CODE
MEDIUM⚡misc/ai_translate/translate.py426 print(f"Error: Path does not exist: {i18n_path}")STRING
MEDIUM⚡misc/ai_translate/translate.py430 print(f"Error: Path is not a directory: {i18n_path}")STRING
LOW⚡misc/ai_translate/translate.py438 except Exception as e:STRING
MEDIUMmisc/ai_translate/validate_charset.py240 print(f"Error: Path is not a directory: {i18n_path}")STRING
MEDIUMmisc/ai_translate/validate_translations.py327 print(f"Error: English folder not found at {en_folder}")CODE
MEDIUMmisc/ai_translate/validate_translations.py332 print(f"Error: No FTL file found in {en_folder}")CODE
MEDIUM⚡misc/ai_translate/validate_translations.py530 print(f"Error: Path does not exist: {i18n_path}")STRING
MEDIUM⚡misc/ai_translate/validate_translations.py534 print(f"Error: Path is not a directory: {i18n_path}")STRING
LOW⚡misc/ai_translate/validate_translations.py543 except Exception as e:STRING
Deep Nesting9 hits · 9 pts
SeverityFileLineSnippetContext
LOWmisc/find_unused_settings_properties.py38CODE
LOWmisc/find_unused_settings_properties.py65CODE
LOWmisc/remove_comments.py14CODE
LOWmisc/ai_translate/translate.py123CODE
LOWmisc/ai_translate/translate.py221CODE
LOWmisc/ai_translate/validate_translations.py129CODE
LOWmisc/ai_translate/validate_translations.py214CODE
LOWmisc/ai_translate/validate_translations.py320CODE
LOWmisc/ai_translate/ftl_utils.py39CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHczkawka_core/src/common/directories.rs361 // use recursive_search = true and skip_exist_check = true as requestedCOMMENT
Hyper-Verbose Identifiers6 hits · 6 pts
SeverityFileLineSnippetContext
LOWmisc/find_unused_settings_properties.py7def extract_settings_properties(settings_file: Path) -> Dict[str, str]:CODE
LOWmisc/find_unused_settings_properties.py38def check_property_usage_in_rust(rust_files: List[Path], property_name: str) -> Tuple[bool, bool]:CODE
LOWmisc/remove_comments.py14def remove_comments_from_text(s: str) -> str:CODE
LOWmisc/ai_translate/translate.py221def update_language_file_content(lang_file: pathlib.Path, translations: Dict[str, str]) -> None:CODE
LOWmisc/ai_translate/validate_translations.py166def fix_literal_newlines_in_language_file(lang_file: pathlib.Path, keys_to_fix: Set[str]) -> int:CODE
LOWmisc/ai_translate/validate_translations.py214def fix_trailing_dots_in_language_file(CODE
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOWmisc/find_unused_settings_properties.py108 # Print resultsCOMMENT
LOWmisc/find_unused_slint_translations.py6# Check if in other slint files they are usedCOMMENT
LOWmisc/find_unused_slint_translations.py7# Check if in all items from translations are used in a way f"set_{}(" in src/connect_translation.rsCOMMENT
LOWmisc/find_unused_slint_translations.py90# Check if all arguments are used in Slint filesCOMMENT
AI Slop Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMmisc/test_compilation_speed_size/src/main.rs170 if let Err(e) = writeln!(file, "// Absolutely nothing") {CODE
MEDIUMczkawka_core/Cargo.toml136#harness = falseCOMMENT
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWmisc/remove_comments.py3CODE
LOWmisc/gen_test_assets.py14CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWmisc/ai_translate/translate.py221def update_language_file_content(lang_file: pathlib.Path, translations: Dict[str, str]) -> None:CODE