AI Slop Code Risk Monitor

eythaann/Seelen-UI

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

The Fully Customizable Desktop Environment for Windows 10/11.

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for eythaann/Seelen-UI, a Rust project with 18,293 GitHub stars. SynthScan examined 188,537 lines of code across 2390 source files, recording 167 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 1.5 (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.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-10-28
Last Push
18.3K
Stars
Rust
Language
188.5K
Lines of Code
2.4K
Files
167
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 3.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.8/100 · LOW

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

Agent Over-Engineering Ratio 3.9/100 · LOW

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

PR Review Velocity Impact 7.0/100 · LOW

Which changes need focused human review? 167 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 3HIGH 0MEDIUM 40LOW 124

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 167 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.

Decorative Section Separators39 hits · 117 pts
SeverityFileLineSnippetContext
MEDIUM…ground/modules/system_settings/language/application.rs124 // ── TSF helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ground/modules/system_settings/language/application.rs172 // ── Language enumeration ─────────────────────────────────────────────────COMMENT
MEDIUM…ground/modules/system_settings/language/application.rs343 // ── Layout activation ────────────────────────────────────────────────────COMMENT
MEDIUM…ground/modules/system_settings/language/application.rs444 // ── Public API ───────────────────────────────────────────────────────────COMMENT
MEDIUM…ground/modules/system_settings/language/application.rs451// ── GUID utilities ───────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/adapter.rs34// ── Known profiles ────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/adapter.rs62// ── Auth / cipher / PHY labels ──────────────────────────────────────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/adapter.rs133// ── Channel width (parsed from raw 802.11 information elements) ────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/adapter.rs391// ── SluWifiAdapter ────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/mod.rs30// ── Win32 WLAN handle (native scans, directed probe on hidden networks) ──────COMMENT
MEDIUMsrc/background/modules/radios/wifi/mod.rs73// ── Async helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/modules/radios/wifi/mod.rs95// ── WifiManager ──────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/backups/application.rs93// ─── Public entry points ──────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/backups/application.rs133// ─── Core operations ──────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/backups/application.rs183// ─── Reconciliation ───────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/backups/application.rs219// ─── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs18// ─── Shared HTTP client ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs28// ─── Constants ────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs54// ─── Events ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs63// ─── Manager ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs129 // ─── Windows Credential Manager ───────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs178 // ─── Token refresh ────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs271 // ─── Public API ───────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/background/session/application.rs382// ─── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Item.svelte35 // ── Scope computation ────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Item.svelte56 // ── Sandboxed code evaluation ────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Item.svelte77 // ── Others derives ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Item.svelte86 // ── Event handlers ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Toolbar.svelte31 // ── Derived splits ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Toolbar.svelte46 // ── Context menu ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Toolbar.svelte178 // ── DnD ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/svelte/fancy-toolbar/components/Toolbar.svelte194 // ── Resolve overlay item ──────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/react/settings/modules/shortcuts/application.ts19// ─── Types ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/react/settings/modules/shortcuts/application.ts32// ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/react/settings/modules/shortcuts/application.ts52// ─── Public API ──────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/ui/react/settings/modules/shortcuts/application.ts106// ─── Grouped entries for the UI ──────────────────────────────────────────────COMMENT
MEDIUMsrc/service/app_management.rs55 // ── Suspend / resume handling ─────────────────────────────────────────────COMMENT
MEDIUMsrc/service/app_management.rs76 // ── Normal health check ───────────────────────────────────────────────────COMMENT
MEDIUMsrc/service/app_management.rs88 // ── App is not reachable via IPC ──────────────────────────────────────────COMMENT
Over-Commented Block86 hits · 86 pts
SeverityFileLineSnippetContext
LOWlibs/core/mod.ts1// this re-export file is needed as a workaround for a bug in @deno/dntCOMMENT
LOWlibs/core/src/state/icon_pack.rs81}COMMENT
LOWlibs/core/src/state/icon_pack.rs101 /// In case of path be a lnk file this can be set to a different location to use the icon from.COMMENT
LOWlibs/core/src/state/icon_pack.rs181#[cfg_attr(COMMENT
LOWlibs/core/src/state/settings/shortcuts.rs21 pub readonly: bool,COMMENT
LOWlibs/core/src/state/settings/settings_by_app.rs1use regex::Regex;COMMENT
LOWlibs/core/src/state/settings/settings_by_app.rs61#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/state/settings/mod.rs121#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]COMMENT
LOWlibs/core/src/state/settings/mod.rs381#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]COMMENT
LOWlibs/core/src/state/settings/mod.rs461// ========================== Start of Week ==============================COMMENT
LOWlibs/core/src/state/settings/mod.rs501 /// Start of week for calendarCOMMENT
LOWlibs/core/src/state/settings/by_wallpaper.rs1#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]COMMENT
LOWlibs/core/src/state/settings/by_widget.rs101 derive(ts_rs::TS),COMMENT
LOWlibs/core/src/state/widget/declaration.rs61/// A widget configuration definition that can be either a group container or a settings itemCOMMENT
LOWlibs/core/src/state/widget/declaration.rs121 /// Toggle switch for boolean values.\COMMENT
LOWlibs/core/src/state/widget/declaration.rs201 /// per monitor even if `allow_set_by_monitor` is false, as workspaces live on monitors.COMMENT
LOWlibs/core/src/state/widget/declaration.rs221}COMMENT
LOWlibs/core/src/state/widget/declaration.rs241#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/state/widget/declaration.rs301COMMENT
LOWlibs/core/src/state/widget/declaration.rs321 #[default]COMMENT
LOWlibs/core/src/state/widget/mod.rs21/// Declares a shortcut that belongs to this widget.COMMENT
LOWlibs/core/src/state/widget/mod.rs41COMMENT
LOWlibs/core/src/state/widget/mod.rs121COMMENT
LOWlibs/core/src/state/widget/mod.rs141pub enum WidgetLoader {COMMENT
LOWlibs/core/src/state/widget/mod.rs161 Desktop,COMMENT
LOWlibs/core/src/state/widget/mod.rs181 pub id: WidgetId,COMMENT
LOWlibs/core/src/state/plugin/twm.rs21#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]COMMENT
LOWlibs/core/src/state/theme/config.rs61COMMENT
LOWlibs/core/src/state/theme/config.rs81 /// --var-name: #ff22eeCOMMENT
LOWlibs/core/src/state/theme/config.rs101 /// Css syntax: https://developer.mozilla.org/en-US/docs/Web/CSS/number \COMMENT
LOWlibs/core/src/state/theme/config.rs121 /// This will be rendered as a file input on select file the url version of the path will be stored.COMMENT
LOWlibs/core/src/state/theme/config.rs161 /// If present, this will be rendered as a selector of options instead of an input.COMMENT
LOWlibs/core/src/state/theme/mod.rs21#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/resource/metadata.rs21 /// Map of language code to description. Could be a string, mapped to `en`.COMMENT
LOWlibs/core/src/resource/mod.rs101#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]COMMENT
LOWlibs/core/src/resource/mod.rs121#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/resource/mod.rs141#[cfg_attr(feature = "salvo", derive(salvo::oapi::ToSchema))]COMMENT
LOWlibs/core/src/resource/mod.rs181 /// should be filled if `status == ResourceStatus::Deleted`COMMENT
LOWlibs/core/src/system_state/notification.rs161 #[serde(other)]COMMENT
LOWlibs/core/src/system_state/notification.rs181#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/system_state/notification.rs221#[derive(Debug, Default, Clone, Serialize, Deserialize)]COMMENT
LOWlibs/core/src/system_state/notification.rs241#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/system_state/notification.rs261#[cfg_attr(all(feature = "gen-binds", not(feature = "salvo")), derive(ts_rs::TS))]COMMENT
LOWlibs/core/src/system_state/notification.rs281 pub content: String,COMMENT
LOWlibs/core/src/system_state/notification.rs301 /// this is used as button iconCOMMENT
LOWlibs/core/src/system_state/notification.rs321 #[serde(other)]COMMENT
LOWlibs/core/src/system_state/tray.rs1use std::path::PathBuf;COMMENT
LOWlibs/core/src/system_state/tray.rs21 /// Path of the executable that registered the icon.COMMENT
LOWlibs/core/src/system_state/system_settings_index.rs1use std::path::PathBuf;COMMENT
LOWlibs/core/src/system_state/clipboard.rs1use serde::{Deserialize, Serialize};COMMENT
LOWlibs/core/src/system_state/language.rs21 /// Passed back to the backend as-is when activating this layout.COMMENT
LOWlibs/core/src/system_state/language.rs41/// | `hanja` | ❌ | ❌ | ✅ |COMMENT
LOWlibs/core/src/system_state/language.rs61/// | English | false* | false | false |COMMENT
LOWlibs/core/src/system_state/language.rs81/// - Korean: Hangul input mode.COMMENT
LOWlibs/core/src/system_state/language.rs101///COMMENT
LOWlibs/core/src/system_state/language.rs121/// - `IME_CMODE_NATIVESYMBOL`COMMENT
LOWlibs/core/src/system_state/language.rs141 ///COMMENT
LOWlibs/core/src/system_state/night_light.rs1use chrono::NaiveTime;COMMENT
LOWlibs/core/src/system_state/network/mod.rs1#[derive(Debug, Serialize)]COMMENT
LOWlibs/core/src/system_state/network/mod.rs21 /// e.g. "20MHz", "40MHz", "80MHz", "160MHz", "80+80MHz". None if it couldCOMMENT
26 more matches not shown…
Hyper-Verbose Identifiers32 hits · 32 pts
SeverityFileLineSnippetContext
LOWlibs/ui/react/utils/index.ts26export function WindowsDateFileTimeToDate(fileTime: bigint | number) {CODE
LOWlibs/ui/react/utils/layered.ts32export async function declareDocumentAsLayeredHitbox(CODE
LOWlibs/core/src/state/widget/mod.ts417function getDefinitionDefaultValues(definition: WidgetConfigDefinition): Record<string, unknown> {CODE
LOWlibs/core/src/state/widget/performance.ts5export async function disableAnimationsOnPerformanceMode(): Promise<void> {CODE
LOWlibs/core/src/state/widget/performance.ts46export function registerPerformanceStyles(): void {CODE
LOWlibs/core/src/state/widget/positioning.ts33export function adjustPositionByPlacement({CODE
LOWlibs/core/src/state/theme/mod.ts104function iterateVariableDefinitions(CODE
LOWsrc/ui/svelte/window-manager/layout/application.ts6export function requestPositioningOfLeaves(state: State) {CODE
LOWsrc/ui/svelte/weg/appMenu.ts52export function getUserApplicationContextMenu(CODE
LOW…ui/svelte/wallpaper-manager/modules/accentExtractor.ts267export function extractAccentColorFromElement(CODE
LOW…ui/svelte/wallpaper-manager/modules/accentExtractor.ts297export function extractAccentColorFromSrc(source: string): Promise<Color | null> {CODE
LOWsrc/ui/svelte/apps-menu/keyboard-navigation.ts75export function createInputKeyDownHandler(options: InputKeyDownOptions = {}) {CODE
LOWsrc/ui/vanilla/entry-point/UxImprovements.ts83function clearTooltipParentElement() {CODE
LOWsrc/ui/react/settings/state/permissions.ts29export function restorePermissionsToLastSaved() {CODE
LOW…s/components/ThumbnailGeneratorModal/videoThumbnail.ts86export async function extractThumbnailFromSource(CODE
LOW…mponents/ThumbnailGeneratorModal/thumbnailGenerator.ts33export function getVideosWithoutThumbnail(wallpapers: Wallpaper[]): Wallpaper[] {CODE
LOW…i/react/settings/components/SortableSelector/index.tsx88function DndDropableAndSortableContainer({CODE
LOW…t/settings/modules/resources/Widget/ConfigRenderer.tsx66export function RenderBySettingsDeclaration({CODE
LOW…t/settings/modules/resources/Widget/ConfigRenderer.tsx185function WidgetSettingItemRenderer({CODE
LOW…react/settings/modules/resources/Widget/application.ts49export function patchWidgetInstanceConfig(CODE
LOW…react/settings/modules/resources/Widget/application.ts242export function patchWidgetWorkspaceConfig(CODE
LOW…react/settings/modules/resources/Widget/application.ts256export function removeWidgetWorkspaceConfigKey(CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts55export function updateWallpaperCollection(collection: WallpaperCollection) {CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts71export function deleteWallpaperCollection(collectionId: string) {CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts108export function setDefaultWallpaperCollection(collectionId: string | null) {CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts115export function setMonitorWallpaperCollection(monitorId: string, collectionId: string | null) {CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts134export function setWorkspaceWallpaperCollection(CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts180export function getOrCreateHiddenCollection(wallpaperId: WallpaperId, name: string): string {CODE
LOW…/settings/modules/resources/Widget/Wall/application.ts180export function getOrCreateHiddenCollection(wallpaperId: WallpaperId, name: string): string {CODE
LOW…/resources/Widget/Wall/WallpaperCollectionSelector.tsx22export function WallpaperCollectionSelector({ value, onChange, style, placeholder }: Props) {CODE
LOW…ces/Widget/WindowManager/main/infra/GlobalPaddings.tsx53export function WindowManagerSpacingSettings(CODE
LOWsrc/ui/react/settings/modules/shortcuts/application.ts34function getWidgetShortcutsOverrides(widgetId: WidgetId): Record<string, string[]> {CODE
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALsrc/background/state/mod.rs108 let default = self.settings.by_widget.wm.layout.clone();CODE
CRITICALsrc/background/widgets/window_manager/handler.rs68 easing: state.settings.by_widget.wm.animations.ease_function.clone(),CODE
CRITICALsrc/background/widgets/window_manager/handler.rs107 easing: state.settings.by_widget.wm.animations.ease_function.clone(),CODE
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/build.ts35 // Step 3: Discover entry pointsCOMMENT
LOWscripts/build.ts48 // Step 4: Build all frameworks in parallelCOMMENT
LOWscripts/build.ts59 // Step 5: Start dev server if requested (serves entire dist folder)COMMENT
Structural Annotation Overuse3 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/build.ts35 // Step 3: Discover entry pointsCOMMENT
LOWscripts/build.ts48 // Step 4: Build all frameworks in parallelCOMMENT
LOWscripts/build.ts59 // Step 5: Start dev server if requested (serves entire dist folder)COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/Cargo.toml196# If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `buCOMMENT