AI Slop Code RIsk Monitor

adambard/learnxinyminutes-docs

Code documentation written as code! How novel and totally my idea!

6.8 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for adambard/learnxinyminutes-docs, a Markdown project with 12,357 GitHub stars. SynthScan examined 334,067 lines of code across 889 source files, recording 1577 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 6.8 (Moderate 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.

6.8
Adjusted Signal
6.8
Raw Pattern Score
100%
Time Factor
2026-09-21
Last Push
12.4K
Stars
Markdown
Language
334.1K
Lines of Code
889
Files
1.6K
Pattern Hits
2026-10-12
Scan Date
0.03
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 15.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 15.9/100 · LOW

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

PR Review Velocity Impact 31.1/100 · MEDIUM

Which changes need focused human review? 1577 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 24MEDIUM 396LOW 1157

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 1577 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 Block1133 hits · 1070 pts
SeverityFileLineSnippetContext
LOWswift.md21```swiftCOMMENT
LOWswift.md301//Iterating through a dictionary does not guarantee any specific orderCOMMENT
LOWswift.md861// You can use #warning(message) and #error(message) to have the compiler emit warnings and/or errorsCOMMENT
LOWlinker.md41COMMENT
LOWlinker.md101 KEEP (*(.init))COMMENT
LOWgleam.md61pub type UserId =COMMENT
LOWgleam.md81 // io.println(10)COMMENT
LOWgleam.md161 let one_point_three = 1.3COMMENT
LOWgleam.md221 // \\ - backslashCOMMENT
LOWgleam.md281 let _version: Int = 1COMMENT
LOWmake.md21COMMENT
LOWmake.md181# Variables 2COMMENT
LOWsing.md21 Use it to remark-out part of the code.COMMENT
LOWsing.md181//COMMENT
LOWminiscript.md241print roll(2) // roll two 6-sided diceCOMMENT
LOWminiscript.md361// prefix on the left-hand side of the assignment, since otherwiseCOMMENT
LOWpython.md721# You can shorten module namesCOMMENT
LOWpython.md741####################################################COMMENT
LOWpython.md841# Inheritance allows new child classes to be defined that inherit methods andCOMMENT
LOWpython.md861 # If the child class should inherit all of the parent's definitions withoutCOMMENT
LOWsorbet.md21# Strictness levels (lax to strict):COMMENT
LOWsorbet.md181 #COMMENT
LOWsorbet.md501 #COMMENT
LOWsorbet.md861 # `T.unsafe` so Sorbet will let you call it. Although we tend to think ofCOMMENT
LOWpascal.md81 // can define zero (0) length arrays that are dynamically sizedCOMMENT
LOWcoffeescript.md41#=>var fill;COMMENT
LOWcoffeescript.md61# "cube": function(x) { return x * square(x); }COMMENT
LOWcoffeescript.md81# _results = [];COMMENT
LOWjq.md21# When running jq from the command line, jq program code can be specified as theCOMMENT
LOWjq.md61# "name": "jq"COMMENT
LOWjq.md101#COMMENT
LOWjq.md121jq -n --argjson val 123 '$val' # $val is a numberCOMMENT
LOWjq.md141#COMMENT
LOWjq.md161# 1 + 2 = 3COMMENT
LOWjq.md181 # NOTE: The + (plus) operator here concatenates strings.COMMENT
LOWjq.md201#COMMENT
LOWjq.md221# 1COMMENT
LOWjq.md241# [COMMENT
LOWjq.md261# Output:COMMENT
LOWjq.md281#COMMENT
LOWjq.md301#COMMENT
LOWjq.md321# [dot, 4].forEach(dot => console.log(dot))COMMENT
LOWjq.md341# For object attributes, you can also use the `.key` shortcut.COMMENT
LOWjq.md381# NOTE: `empty` is actually a built-in function in jq.COMMENT
LOWjq.md401# If the lookup index or key is omitted then jq iterates throughCOMMENT
LOWjq.md421# Output:COMMENT
LOWjq.md441# "values": 4COMMENT
LOWjq.md461# Another example using a conditional:COMMENT
LOWjq.md481# 5COMMENT
LOWjq.md501jq -n '[range(2; 10; 2)]' # => [2, 4, 6, 8]COMMENT
LOWjq.md541#COMMENT
LOWjq.md581# an array of key-value objects and turn that into an object with keysCOMMENT
LOWjq.md601COMMENT
LOWjq.md641# Average: 3267COMMENT
LOWjq.md661# the collection. Here are some examples:COMMENT
LOWjq.md681# "a": 1,COMMENT
LOWjq.md701# and then it becomes the result of applying the `reduction_expr` asCOMMENT
LOWjq.md721COMMENT
LOWjq.md761# 2 * 1 = 2COMMENT
LOWjq.md821# for its side effect, and doesn't generate a new output.COMMENT
1073 more matches not shown…
Decorative Section Separators392 hits · 1037 pts
SeverityFileLineSnippetContext
MEDIUMmake.md27#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md29#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md59#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md61#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md80#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md82#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md97#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md99#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md132#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md134#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md180#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md182#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md199#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md201#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md216#-----------------------------------------------------------------------COMMENT
MEDIUMmake.md218#-----------------------------------------------------------------------COMMENT
MEDIUM⚡jq.md642# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡jq.md645# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡jq.md648# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡jq.md651# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡jq.md654# ------------------------------------------------------------------------------COMMENT
MEDIUMelixir.md26## ---------------------------COMMENT
MEDIUMelixir.md28## ---------------------------COMMENT
MEDIUMelixir.md108## ---------------------------COMMENT
MEDIUMelixir.md110## ---------------------------COMMENT
MEDIUMelixir.md160## ---------------------------COMMENT
MEDIUMelixir.md162## ---------------------------COMMENT
MEDIUMelixir.md225## ---------------------------COMMENT
MEDIUMelixir.md227## ---------------------------COMMENT
MEDIUMelixir.md336## ---------------------------STRING
MEDIUMelixir.md338## ---------------------------STRING
MEDIUMelixir.md374## ---------------------------STRING
MEDIUMelixir.md376## ---------------------------STRING
MEDIUMelixir.md428## ---------------------------STRING
MEDIUMelixir.md430## ---------------------------STRING
MEDIUMnix.md22 #=========================================COMMENT
MEDIUMnix.md31 #=========================================COMMENT
MEDIUMnix.md44 #=========================================COMMENT
MEDIUMnix.md66 #=========================================COMMENT
MEDIUMnix.md95 #=========================================COMMENT
MEDIUMnix.md118 #=========================================COMMENT
MEDIUMnix.md138 #=========================================COMMENT
MEDIUMnix.md159 #=========================================COMMENT
MEDIUMnix.md181 #=========================================COMMENT
MEDIUMnix.md212 #=========================================COMMENT
MEDIUMnix.md267 #=========================================COMMENT
MEDIUMnix.md289 #=========================================COMMENT
MEDIUMnix.md313 #=========================================COMMENT
MEDIUMnix.md340 #=========================================COMMENT
MEDIUMvim9script.md70# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md96# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md130# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md162# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md190# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md237# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md271# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md291# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md310# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md330# ----------------------------------------------------------------------------COMMENT
MEDIUMvim9script.md347# ----------------------------------------------------------------------------COMMENT
332 more matches not shown…
Cross-File Repetition21 hits · 105 pts
SeverityFileLineSnippetContext
HIGHpython.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHpythonlegacy.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHja/python.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHzh-cn/python.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHzh-cn/pythonlegacy.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHzh-tw/pythonlegacy.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHar/python.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHtr/pythonlegacy.md0all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4}STRING
HIGHscala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHel/scala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHzh-cn/scala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHpt-br/scala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHes/scala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHfr/scala.md0<form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form>STRING
HIGHdart.md0example19 <a href="etc"> example19 don't can't i'm etc example19 </a>STRING
HIGHzh-cn/dart.md0example19 <a href="etc"> example19 don't can't i'm etc example19 </a>STRING
HIGHzh-tw/dart.md0example19 <a href="etc"> example19 don't can't i'm etc example19 </a>STRING
HIGHes/dart.md0example19 <a href="etc"> example19 don't can't i'm etc example19 </a>STRING
HIGHpythonstatcomp.md0ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian louiSTRING
HIGHpt-br/pythonstatcomp.md0ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian louiSTRING
HIGHes/pythonstatcomp.md0ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian louiSTRING
AI Response Leakage3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHnix.md358 # its contents. You can read files from anywhere. In this example,COMMENT
HIGHraku.md663# In this example, even though the sequence is infinite, only the 15COMMENT
HIGHawk.md175 # between actual function parameters and local variables. In this example,COMMENT
Hyper-Verbose Identifiers13 hits · 13 pts
SeverityFileLineSnippetContext
LOWsolidity.md779 function checkIfFundingCompleteOrExpired()CODE
LOWballerina.md76public function fromHttpTriggerCosmosDBInput(CODE
LOWhack.md334 public static function favoriteProgrammingLanguage(): string {CODE
LOWit/solidity.md892 function checkIfFundingCompleteOrExpired()CODE
LOWcs/python.md443def vrat_pojmenovane_argumenty(**pojmenovane_argumenty):CODE
LOWzh-cn/solidity.md669 function checkIfFundingCompleteOrExpired()CODE
LOWpt-br/php.md491 final function voceNaoPodeMeSobrescrever()CODE
LOWpt-br/php.md525 function imprimePropriedadeProtegida()CODE
LOWpt-br/solidity.md746 function verifiqueSeLevantamentoFoiCompletadoOuExpirado() {CODE
LOWnl/typescript.md41function groteVerschrikkelijkeMelding(): void {CODE
LOWid/php.md593 function tampilkanPropertiTerlindungi()CODE
LOWes/php.md574 function imprimePropiedadProtegida()CODE
LOWes/javascript.md312function decirHolaCadaCincoSegundos(nombre){CODE
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMsorbet.md197 # Sometimes (usually dependency injection), a method will accept a referenceCOMMENT
MEDIUMmessagepack.md107# event-driven deserializationCOMMENT
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippetContext
LOWpythonlegacy.md140"{} is a {}".format("This", "placeholder")CODE
LOWdhall.md98 { name = "John Doe"CODE
LOWmessagepack.md19| {"name":"John Doe","age":12} |CODE
LOWmongodb.md105db.engineers.insertOne({ name: "Jane Doe", age: 21, gender: 'Female' })CODE
LOWmongodb.md212db.engineers.updateOne({ name: 'Foo Bar' }, { $set: { name: 'John Doe', age: 100 }})CODE
LOWzh-tw/pythonlegacy.md127"{} is a {}".format("This", "placeholder")CODE
Excessive Try-Catch Wrapping2 hits · 3 pts
SeverityFileLineSnippetContext
MEDIUMswift.md1003 print("Error message: \(msg)")STRING
MEDIUMlint/frontmatter.py109 print(f"Error: {path_input} does not exist.")CODE
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWraku.md1866# IMPORTANT: Don't skip them because you know PCRE. They're different. SomeCOMMENT
LOWraku.md2080# WARNING: They are DIFFERENT from PCRE regexps.COMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWlint/frontmatter.py42CODE
LOWlint/frontmatter.py72CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWlint/encoding.sh7 # Check if the encoding is neither UTF-8 nor US-ASCIICOMMENT