AI Slop Code Risk Monitor

luanti-org/luanti

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

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation

1.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for luanti-org/luanti, a C++ project with 13,802 GitHub stars. SynthScan examined 418,760 lines of code across 1510 source files, recording 713 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.7
Adjusted Signal
1.7
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
13.8K
Stars
C++
Language
418.8K
Lines of Code
1.5K
Files
713
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 8.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.1/100 · LOW

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

PR Review Velocity Impact 8.6/100 · LOW

Which changes need focused human review? 713 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 6MEDIUM 7LOW 700

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 713 distinct pattern matches across 12 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 Block686 hits · 651 pts
SeverityFileLineSnippetContext
LOWutil/updatepo.sh1#!/bin/shCOMMENT
LOWutil/ci/indent_tab_preprocess.py1#!/usr/bin/python3COMMENT
LOWutil/ci/indent_tab_preprocess.py21#COMMENT
LOWutil/ci/indent_tab_preprocess.py41# <tab><spc>CCOMMENT
LOW…roid/app/src/main/java/org/libsdl/app/SDLActivity.java1321 source = device.getSources();COMMENT
LOWlib/gmp/mini-gmp.c41 mpn/generic/mul_basecase.c, mpn/generic/rshift.c,COMMENT
LOWlib/gmp/mini-gmp.c61COMMENT
LOWlib/jsoncpp/jsoncpp.cpp81COMMENT
LOWlib/jsoncpp/jsoncpp.cpp241// Distributed under MIT license, or public domain if desired andCOMMENT
LOWlib/jsoncpp/jsoncpp.cpp261#include <sstream>COMMENT
LOWlib/jsoncpp/jsoncpp.cpp2281// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp AuthorsCOMMENT
LOWlib/jsoncpp/jsoncpp.cpp2441COMMENT
LOWlib/jsoncpp/jsoncpp.cpp2461#include <algorithm>COMMENT
LOWlib/jsoncpp/jsoncpp.cpp2701#endifCOMMENT
LOWlib/jsoncpp/jsoncpp.cpp4201COMMENT
LOWlib/jsoncpp/json/json-forwards.h81COMMENT
LOWlib/jsoncpp/json/json-forwards.h101#define JSONCPP_VERSION_PATCH 8COMMENT
LOWlib/jsoncpp/json/json-forwards.h121COMMENT
LOWlib/jsoncpp/json/json-forwards.h241// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp AuthorsCOMMENT
LOWlib/jsoncpp/json/json-forwards.h261#endifCOMMENT
LOWlib/jsoncpp/json/json-forwards.h281COMMENT
LOWlib/jsoncpp/json/json-forwards.h301extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size,COMMENT
LOWlib/jsoncpp/json/json-forwards.h321#elif defined(__GNUC__) // not clang (gcc comes later since clang emulates gcc)COMMENT
LOWlib/jsoncpp/json/json-forwards.h401COMMENT
LOWlib/jsoncpp/json/json.h81// //////////////////////////////////////////////////////////////////////COMMENT
LOWlib/jsoncpp/json/json.h121COMMENT
LOWlib/jsoncpp/json/json.h241// Distributed under MIT license, or public domain if desired andCOMMENT
LOWlib/jsoncpp/json/json.h261COMMENT
LOWlib/jsoncpp/json/json.h281#elif defined(JSON_DLL)COMMENT
LOWlib/jsoncpp/json/json.h301 const char* format, ...);COMMENT
LOWlib/jsoncpp/json/json.h321#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))COMMENT
LOWlib/jsoncpp/json/json.h401COMMENT
LOWlib/jsoncpp/json/json.h461COMMENT
LOWlib/jsoncpp/json/json.h541COMMENT
LOWlib/jsoncpp/json/json.h561#define JSONCPP_NORETURN [[noreturn]]COMMENT
LOWlib/jsoncpp/json/json.h581#endifCOMMENT
LOWlib/jsoncpp/json/json.h801 /// Default precision for real value for string representation.COMMENT
LOWlib/jsoncpp/json/json.h1001 /// \pre type() is arrayValue, objectValue, or nullValueCOMMENT
LOWlib/jsoncpp/json/json.h1021COMMENT
LOWlib/jsoncpp/json/json.h1181 /// Return true if the object has a member named key.COMMENT
LOWlib/jsoncpp/json/json.h1741COMMENT
LOWlib/jsoncpp/json/json.h1761#include <istream>COMMENT
LOWlib/jsoncpp/json/json.h2201// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp AuthorsCOMMENT
LOWlib/jsoncpp/json/json.h2581// //////////////////////////////////////////////////////////////////////COMMENT
LOWlib/lstrpack/lstrpack.c1// SPDX-License-Identifier: MITCOMMENT
LOWlib/lua/src/llimits.h61COMMENT
LOWlib/lua/src/llimits.h121*/COMMENT
LOWlib/lua/src/luaconf.h21COMMENT
LOWlib/lua/src/luaconf.h281#if defined(LUA_USE_READLINE)COMMENT
LOWlib/lua/src/luaconf.h421#if LUAI_BITSINT >= 32COMMENT
LOWlib/lua/src/luaconf.h541#define luai_numadd(a,b) ((a)+(b))COMMENT
LOWlib/lua/src/lgc.h21#define GCSfinalize 4COMMENT
LOWlib/lua/src/lgc.h61#define SFIXEDBIT 6COMMENT
LOWlib/lua/src/lobject.c1/*COMMENT
LOWlib/lua/src/lundump.c1/*COMMENT
LOWlib/lua/src/luac.c1/*COMMENT
LOWlib/lua/src/ltable.c21#include <math.h>COMMENT
LOWlib/lua/src/lobject.h81#define ttisstring(o) (ttype(o) == LUA_TSTRING)COMMENT
LOWlib/lua/src/lopcodes.h41COMMENT
LOWlib/lua/src/lgc.c1/*COMMENT
626 more matches not shown…
Synthetic Comment Markers6 hits · 45 pts
SeverityFileLineSnippetContext
HIGHirr/include/mt_opengl.h1// This code was generated by scripts/BindingGenerator.luaCOMMENT
HIGHirr/scripts/BindingGenerator.lua345// This code was generated by scripts/BindingGenerator.luaCOMMENT
HIGHirr/scripts/BindingGenerator.lua423// This code was generated by scripts/BindingGenerator.luaCOMMENT
HIGHirr/src/CEGLManager.cpp302 // We give a slight worse rating if attributes are not exact as requestedCOMMENT
HIGHirr/src/mt_opengl_loader.cpp1// This code was generated by scripts/BindingGenerator.luaCOMMENT
HIGHsrc/inventory.h225 // If not as many items exist as requested, removes asCOMMENT
Excessive Try-Catch Wrapping4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMutil/ci/run-clang-tidy.py68 print('Error: could not find compilation database.')CODE
MEDIUMutil/ci/run-clang-tidy.py303 print('Error exporting fixes.\n', file=sys.stderr)CODE
MEDIUMutil/ci/run-clang-tidy.py312 print('Error applying fixes.\n', file=sys.stderr)CODE
LOWdoc/protocol.txt110except Exception as err:CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…droid/app/src/main/java/org/libsdl/app/SDLSurface.java231 // if we are. We'll leverage our existing mouse motion listenerCOMMENT
MEDIUMirr/src/CXMeshFileLoader.h161 // P == End should suffice, but P >= End is more robust.COMMENT
Self-Referential Comments2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMbuiltin/common/settings/generate_from_settingtypes.lua7# This file contains a list of all available settings and their default value for minetest.confCOMMENT
MEDIUMsrc/porting.cpp673 "# This file is a cache directory tag automatically created by "CODE
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippetContext
LOWutil/ci/run-clang-tidy.py63def find_compilation_database(path):CODE
LOWutil/ci/run-clang-tidy.py134def check_clang_apply_replacements_binary(args):CODE
LOWirr/scripts/BindingGenerator.lua157local function NormalizeFunctionSignature( T, str )CODE
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOW…droid/app/src/main/java/org/libsdl/app/SDLSurface.java230 // We need to check if we're in relative mouse mode and get the axis offset rather than the x/y valuesCOMMENT
LOWlib/catch2/catch_amalgamated.cpp5514 // No children have started. We need to check if theyCOMMENT
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWbuiltin/settingtypes.txt2390# WARNING: There is no benefit, and there are several dangers, inCOMMENT
LOWbuiltin/settingtypes.txt2414# WARNING: There are known bugs in the default map generators (v6, v7, ...)COMMENT
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWutil/reorder_translation_commits.py2CODE
LOWutil/ci/run-clang-tidy.py36CODE
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWutil/gather_git_credits.py19CODE
LOWutil/ci/indent_tab_preprocess.py61CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/servermap.cpp626 // Hopefully this way we don't forget to keep them in sync.COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWgames/devtest/mods/testformspec/formspec.lua122<justify>justify. Here comes a blind text: Lorem testum dolor sit amet consecutor celeron fiftifahivus e shadoninia e smCODE