AI Slop Code Risk Monitor

rizonesoft/Notepad3

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

Notepad like text editor based on the Scintilla source code. Notepad3 based on code from Notepad2 and MiniPath on code from metapath. Download Notepad3:

3.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for rizonesoft/Notepad3, a C project with 6,744 GitHub stars. SynthScan examined 369,851 lines of code across 1164 source files, recording 1375 pattern matches distributed across 11 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-29
Last Push
6.7K
Stars
C
Language
369.9K
Lines of Code
1.2K
Files
1.4K
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 14.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 1.9/100 · LOW

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

PR Review Velocity Impact 18.3/100 · LOW

Which changes need focused human review? 1375 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 3MEDIUM 51LOW 1321

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 1375 distinct pattern matches across 11 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 Block1240 hits · 1116 pts
SeverityFileLineSnippetContext
LOWlexilla/lexers_x/CharSetX.h21COMMENT
LOWlexilla/lexers_x/SciXLexer.h1// encoding: UTF-8COMMENT
LOWlexilla/lexers_x/SciXLexer.h21#define SCE_AHK_SYNOPERATOR 4COMMENT
LOWlexilla/lexers_x/SciXLexer.h41COMMENT
LOWlexilla/lexers_x/SciXLexer.h61#define SCE_KOTLIN_TASKMARKER 6COMMENT
LOWlexilla/lexers_x/SciXLexer.h81COMMENT
LOWlexilla/include/SciLexer.h21#define SCLEX_CPP 3COMMENT
LOWlexilla/include/SciLexer.h41#define SCLEX_EIFFEL 23COMMENT
LOWlexilla/include/SciLexer.h61#define SCLEX_CLW 45COMMENT
LOWlexilla/include/SciLexer.h81#define SCLEX_CAML 65COMMENT
LOWlexilla/include/SciLexer.h101#define SCLEX_ASYMPTOTE 85COMMENT
LOWlexilla/include/SciLexer.h121#define SCLEX_ECL 105COMMENT
LOWlexilla/include/SciLexer.h141#define SCLEX_SAS 125COMMENT
LOWlexilla/include/SciLexer.h161#define SCE_P_COMMENTLINE 1COMMENT
LOWlexilla/include/SciLexer.h181#define SCE_C_DEFAULT 0COMMENT
LOWlexilla/include/SciLexer.h201#define SCE_C_STRINGRAW 20COMMENT
LOWlexilla/include/SciLexer.h221#define SCE_COBOL_WORD2 16COMMENT
LOWlexilla/include/SciLexer.h241#define SCE_D_STRINGR 19COMMENT
LOWlexilla/include/SciLexer.h261#define SCE_TCL_WORD5 16COMMENT
LOWlexilla/include/SciLexer.h281#define SCE_H_SCRIPT 14COMMENT
LOWlexilla/include/SciLexer.h301#define SCE_HJ_COMMENT 42COMMENT
LOWlexilla/include/SciLexer.h321#define SCE_HJA_DOUBLESTRING 63COMMENT
LOWlexilla/include/SciLexer.h341#define SCE_HBA_IDENTIFIER 86COMMENT
LOWlexilla/include/SciLexer.h361#define SCE_HPA_STRING 109COMMENT
LOWlexilla/include/SciLexer.h381#define SCE_PL_ERROR 1COMMENT
LOWlexilla/include/SciLexer.h401#define SCE_PL_DATASECTION 21COMMENT
LOWlexilla/include/SciLexer.h421#define SCE_PL_HERE_QX_VAR 62COMMENT
LOWlexilla/include/SciLexer.h441#define SCE_RB_INSTANCE_VAR 16COMMENT
LOWlexilla/include/SciLexer.h461#define SCE_RB_STRING_QS 44COMMENT
LOWlexilla/include/SciLexer.h481#define SCE_B_BINNUMBER 18COMMENT
LOWlexilla/include/SciLexer.h501#define SCE_L_SHORTCMD 9COMMENT
LOWlexilla/include/SciLexer.h521#define SCE_LUA_WORD5 16COMMENT
LOWlexilla/include/SciLexer.h541#define SCE_ERR_ELF 15COMMENT
LOWlexilla/include/SciLexer.h561#define SCE_ERR_ES_DARK_GRAY 48COMMENT
LOWlexilla/include/SciLexer.h581#define SCE_TCMD_LABEL 3COMMENT
LOWlexilla/include/SciLexer.h601#define SCE_DIFF_DELETED 5COMMENT
LOWlexilla/include/SciLexer.h621#define SCE_AVE_WORD 3COMMENT
LOWlexilla/include/SciLexer.h641#define SCE_ADA_STRINGEOL 8COMMENT
LOWlexilla/include/SciLexer.h661#define SCE_BAAN_WORD8 16COMMENT
LOWlexilla/include/SciLexer.h681#define SCE_LISP_MULTI_COMMENT 12COMMENT
LOWlexilla/include/SciLexer.h701#define SCE_NNCRONTAB_IDENTIFIER 10COMMENT
LOWlexilla/include/SciLexer.h721#define SCE_MATLAB_IDENTIFIER 7COMMENT
LOWlexilla/include/SciLexer.h741#define SCE_SCRIPTOL_KEYWORD 10COMMENT
LOWlexilla/include/SciLexer.h761#define SCE_ASM_EXTINSTRUCTION 14COMMENT
LOWlexilla/include/SciLexer.h781#define SCE_CSS_CLASS 2COMMENT
LOWlexilla/include/SciLexer.h801#define SCE_CSS_GROUP_RULE 22COMMENT
LOWlexilla/include/SciLexer.h821#define SCE_LOUT_COMMENT 1COMMENT
LOWlexilla/include/SciLexer.h841#define SCE_ESCRIPT_WORD2 10COMMENT
LOWlexilla/include/SciLexer.h861#define SCE_NSIS_STRINGDQ 2COMMENT
LOWlexilla/include/SciLexer.h881#define SCE_MMIXAL_OPCODE 3COMMENT
LOWlexilla/include/SciLexer.h901#define SCE_CLW_INTEGER_CONSTANT 5COMMENT
LOWlexilla/include/SciLexer.h921#define SCE_YAML_COMMENT 1COMMENT
LOWlexilla/include/SciLexer.h941#define SCE_METAPOST_TEXT 5COMMENT
LOWlexilla/include/SciLexer.h961#define SCE_ERLANG_ATOM_QUOTED 18COMMENT
LOWlexilla/include/SciLexer.h981#define SCE_JULIA_MACRO 12COMMENT
LOWlexilla/include/SciLexer.h1001#define SCE_MSSQL_DATATYPE 10COMMENT
LOWlexilla/include/SciLexer.h1021#define SCE_V_USER 19COMMENT
LOWlexilla/include/SciLexer.h1041#define SCE_GC_COMMENTBLOCK 2COMMENT
LOWlexilla/include/SciLexer.h1061#define SCE_SN_STRINGEOL 12COMMENT
LOWlexilla/include/SciLexer.h1081#define SCE_APDL_DEFAULT 0COMMENT
1180 more matches not shown…
Decorative Section Separators31 hits · 104 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/hello_world.py2# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/hello_world.py7# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/hello_world.py15# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/hello_world.py25# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/hello_world.py33# =============================================================================COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py121# =============================================================================COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py214# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py220# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py228# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py2# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py16# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py32# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py48# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py55# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py75# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py90# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py170# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py245# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py261# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py277# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py284# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py313# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py331# -----------------------------------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py333# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py353 # ------------------------------------------------COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py383# =========================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py409# =============================================================================COMMENT
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py412# =============================================================================COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexTEXT/regex_find.txt1# =======================================================COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexTEXT/regex_find.txt3# -----------------------------------------------------------------------------------------------COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexTEXT/regex_find.txt8# =======================================================COMMENT
Unused Imports51 hits · 51 pts
SeverityFileLineSnippetContext
LOWscintilla/scripts/FileGenerator.py14CODE
LOWsrc/uchardet/uchardet/script/BuildLangModel.py57CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-3.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1256.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/ibm852.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-7.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1252.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-6.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1253.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-2.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1257.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-15.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-9.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/tis-620.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-11.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1258.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-10.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-13.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-16.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/viscii.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/windows-1250.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-1.py41CODE
LOW…uchardet/uchardet/script/charsets/mac-centraleurope.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/iso-8859-4.py41CODE
LOWsrc/uchardet/uchardet/script/charsets/ibm865.py41CODE
LOWsrc/uchardet/uchardet/script/langs/sl.py41CODE
LOWsrc/uchardet/uchardet/script/langs/et.py41CODE
LOWsrc/uchardet/uchardet/script/langs/el.py41CODE
LOWsrc/uchardet/uchardet/script/langs/pl.py41CODE
LOWsrc/uchardet/uchardet/script/langs/vi.py41CODE
LOWsrc/uchardet/uchardet/script/langs/lv.py41CODE
LOWsrc/uchardet/uchardet/script/langs/pt.py41CODE
LOWsrc/uchardet/uchardet/script/langs/th.py41CODE
LOWsrc/uchardet/uchardet/script/langs/fi.py41CODE
LOWsrc/uchardet/uchardet/script/langs/hr.py41CODE
LOWsrc/uchardet/uchardet/script/langs/lt.py41CODE
LOWsrc/uchardet/uchardet/script/langs/mt.py41CODE
LOWsrc/uchardet/uchardet/script/langs/hu.py41CODE
LOWsrc/uchardet/uchardet/script/langs/fr.py41CODE
LOWsrc/uchardet/uchardet/script/langs/cs.py41CODE
LOWsrc/uchardet/uchardet/script/langs/sv.py41CODE
LOWsrc/uchardet/uchardet/script/langs/tr.py41CODE
LOWsrc/uchardet/uchardet/script/langs/ro.py41CODE
LOWsrc/uchardet/uchardet/script/langs/eo.py41CODE
LOWsrc/uchardet/uchardet/script/langs/es.py41CODE
LOWsrc/uchardet/uchardet/script/langs/sk.py41CODE
LOWsrc/uchardet/uchardet/script/langs/it.py41CODE
LOWsrc/uchardet/uchardet/script/langs/ar.py41CODE
LOWsrc/uchardet/uchardet/script/langs/de.py41CODE
LOWsrc/uchardet/uchardet/script/langs/ga.py41CODE
LOWsrc/uchardet/uchardet/script/langs/da.py41CODE
Excessive Try-Catch Wrapping12 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py106 # eprint("Error on write access: {}".format(err))COMMENT
MEDIUM⚡test/test_files/StyleLexers/styleLexPY/python.py116 eprint("Error on write access: {}".format(err))CODE
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py138 eprint("Error on reading file '{file}' : {err}".format(file=cfg_log_path, err=err))CODE
MEDIUMtest/test_files/StyleLexers/styleLexPY/python.py141 eprint("Error on composing logfile path!")CODE
MEDIUMBuild/scripts/check_scicall.py276 print(f"Error: {args.iface} not found", file=sys.stderr)CODE
MEDIUMBuild/scripts/check_scicall.py279 print(f"Error: {args.scicall} not found", file=sys.stderr)CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py208 print('Error: `iconv` ended with error "{}".\n'.format(error))CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py212 print('Error: "{}" is not a supported charset by python and `iconv` is not installed.\n')CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py301 print('Error: connection to Wikipedia failed. Aborting\n')CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py343 print("Error: alphabet characters are absent from data collection"CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py421 print('Error: `iconv` ended with error "{}".\n'.format(error))CODE
MEDIUMsrc/uchardet/uchardet/script/BuildLangModel.py426 print('Error: "{}" is not a supported charset by python and `iconv` is not installed.\n')CODE
Deep Nesting23 hits · 23 pts
SeverityFileLineSnippetContext
LOWlexilla/scripts/LexillaData.py55CODE
LOWlexilla/scripts/LexillaData.py83CODE
LOWlexilla/scripts/LexillaData.py160CODE
LOWlexilla/scripts/LexillaData.py177CODE
LOWlexilla/scripts/LexillaData.py219CODE
LOWscintilla/scripts/ScintillaData.py27CODE
LOWscintilla/scripts/FileGenerator.py48CODE
LOWscintilla/scripts/FileGenerator.py140CODE
LOWscintilla/scripts/HeaderCheck.py35CODE
LOWscintilla/scripts/CheckMentioned.py49CODE
LOWscintilla/scripts/CheckMentioned.py101CODE
LOWscintilla/scripts/CheckMentioned.py127CODE
LOWscintilla/scripts/ScintillaAPIFacer.py150CODE
LOWscintilla/scripts/ScintillaAPIFacer.py192CODE
LOWscintilla/scripts/ScintillaAPIFacer.py223CODE
LOWscintilla/scripts/ScintillaAPIFacer.py244CODE
LOWscintilla/scripts/Dependencies.py41CODE
LOWscintilla/scripts/HFacer.py15CODE
LOWscintilla/scripts/HFacer.py40CODE
LOWscintilla/scripts/Face.py70CODE
LOWBuild/scripts/check_scicall.py178CODE
LOWBuild/scripts/check_scicall.py245CODE
LOWsrc/uchardet/uchardet/script/BuildLangModel.py168CODE
Self-Referential Comments7 hits · 19 pts
SeverityFileLineSnippetContext
MEDIUMlexilla/src/DepGen.py29 # Create the dependencies file for g++COMMENT
MEDIUMlexilla/src/DepGen.py37 # Create the dependencies file for MSVCCOMMENT
MEDIUMtest/test_files/StyleLexers/styleLexBASH/backup.sh7# This file is part of GNU tar.COMMENT
MEDIUMscintilla/win32/DepGen.py19 # Create the dependencies file for g++COMMENT
MEDIUMscintilla/win32/DepGen.py27 # Create the dependencies file for MSVCCOMMENT
MEDIUMsrc/Config/SimpleIni.h60 -# Define the appropriate symbol for the converter you wish to use andCODE
MEDIUMsrc/Config/doc/SimpleIni_orig.h60 -# Define the appropriate symbol for the converter you wish to use andCODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHscintilla/scripts/CheckMentioned.py190except KeyError:CODE
HIGHscintilla/scripts/HFacer.py56except ValueError:CODE
HIGHsrc/uchardet/uchardet/script/BuildLangModel.py278except KeyError:CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMtest/test_files/StyleLexers/styleLexYAML/appveyor.yml14# you can use {branch} name in version format tooCOMMENT
LOWsrc/Styles.c55// Don't forget to change the number of the lexer for HTML and XMLCOMMENT
AI Slop Vocabulary3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/uchardet/uchardet/script/BuildLangModel.py326# If there is no alphabet defined, we just use the first 64 letters, which wasCOMMENT
LOWsrc/uchardet/uchardet/script/langs/tr.py51# So I just use the alphabet variable below instead.COMMENT
LOWsrc/uchardet/uchardet/script/langs/eo.py51# So I just use the alphabet variable below instead.COMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…files/StyleLexers/styleLexMARKDOWN/FrontMatter_JSON.md4 "author": "Jane Doe",CODE
LOW…files/StyleLexers/styleLexMARKDOWN/FrontMatter_TOML.md3author = "Jane Doe"CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtest/test_files/StyleLexers/styleLexBASH/backup.sh114 # Check if the necessary directories existCOMMENT