AI Slop Code Risk Monitor

KaijuEngine/kaiju

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

General purpose 3D and 2D game engine using Go (golang) and Vulkan with built in editor

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for KaijuEngine/kaiju, a Go project with 4,732 GitHub stars. SynthScan examined 318,679 lines of code across 1683 source files, recording 271 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 1.1 (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.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
4.7K
Stars
Go
Language
318.7K
Lines of Code
1.7K
Files
271
Pattern Hits
2026-10-31
Scan Date
0.01
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.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.4/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 5.5/100 · LOW

Which changes need focused human review? 271 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 8HIGH 2MEDIUM 5LOW 256

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 271 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 Block239 hits · 222 pts
SeverityFileLineSnippetContext
LOWsrc/bootstrap/game_interface.go21 // engine, so it is on the the implementing code to take care of registeringCOMMENT
LOWsrc/framework/spawn_template.go41 }COMMENT
LOWsrc/plugins/lua/llimits.h101** Internal assertions for in-house debuggingCOMMENT
LOWsrc/plugins/lua/llimits.h121*/COMMENT
LOWsrc/plugins/lua/llimits.h141#define cast_int(i) cast(int, (i))COMMENT
LOWsrc/plugins/lua/llimits.h161#define l_castU2S(i) ((lua_Integer)(i))COMMENT
LOWsrc/plugins/lua/llimits.h281#if !defined(luai_userstateopen)COMMENT
LOWsrc/plugins/lua/llimits.h341 ((void)L, (b == 2) ? (a)*(a) : l_mathop(pow)(a,b))COMMENT
LOWsrc/plugins/lua/llimits.h361COMMENT
LOWsrc/plugins/lua/luaconf.h61#if defined(LUA_USE_LINUX)COMMENT
LOWsrc/plugins/lua/luaconf.h221 LUA_CDIR"loadall.dll;" ".\\?.dll"COMMENT
LOWsrc/plugins/lua/luaconf.h461COMMENT
LOWsrc/plugins/lua/luaconf.h681#if !defined(luai_likely)COMMENT
LOWsrc/plugins/lua/lgc.h61#define setbits(x,m) ((x) |= (m))COMMENT
LOWsrc/plugins/lua/lgc.h101COMMENT
LOWsrc/plugins/lua/liolib.c121COMMENT
LOWsrc/plugins/lua/lua.hpp1// lua.hppCOMMENT
LOWsrc/plugins/lua/lua.go21#cgo noescape m_lua_isfunctionCOMMENT
LOWsrc/plugins/lua/lua.go41#cgo noescape luaL_newstateCOMMENT
LOWsrc/plugins/lua/lvm.c21#include "ldebug.h"COMMENT
LOWsrc/plugins/lua/lvm.c1061*/COMMENT
LOWsrc/plugins/lua/lstrlib.c1/*COMMENT
LOWsrc/plugins/lua/ltable.c21** in its main position (i.e. the 'original' position that its hash givesCOMMENT
LOWsrc/plugins/lua/lobject.h321COMMENT
LOWsrc/plugins/lua/lopcodes.h41#define SIZE_A 8COMMENT
LOWsrc/plugins/lua/lopcodes.h81#define MAXARG_Ax ((1<<SIZE_Ax)-1)COMMENT
LOWsrc/plugins/lua/lopcodes.h121#define getarg(i,pos,size) (cast_int(((i)>>(pos)) & MASK1(size,0)))COMMENT
LOWsrc/plugins/lua/loslib.c121COMMENT
LOWsrc/plugins/lua/lcode.c21#include "ldebug.h"COMMENT
LOWsrc/plugins/lua/lapi.c21#include "ldo.h"COMMENT
LOWsrc/plugins/lua/lua.h61** basic typesCOMMENT
LOWsrc/plugins/lua/lua.h221#define LUA_OPDIV 5COMMENT
LOWsrc/plugins/lua/lua.h321*/COMMENT
LOWsrc/plugins/lua/lua.h381COMMENT
LOWsrc/plugins/lua/ldebug.c21#include "ldebug.h"COMMENT
LOWsrc/plugins/lua/lparser.c21#include "lfunc.h"COMMENT
LOWsrc/plugins/lua/lctype.h21#if 'A' == 65 && '0' == 48COMMENT
LOWsrc/plugins/lua/ldo.c21#include "ldo.h"COMMENT
LOWsrc/plugins/lua/ldo.c61#define luai_jmpbuf int /* dummy variable */COMMENT
LOWsrc/platform/steam/steam_api.go21#cgo noescape c_SteamAPI_ShutdownCOMMENT
LOWsrc/platform/steam/steam_wrapper.h21////////////////////////////////////////////////////////////////////////////////COMMENT
LOWsrc/platform/steam/steam_wrapper.h41#endifCOMMENT
LOWsrc/platform/windowing/x11.c41COMMENT
LOWsrc/platform/windowing/strings.c41COMMENT
LOWsrc/platform/windowing/window_windows.go21COMMENT
LOWsrc/platform/windowing/window_windows.go41#cgo noescape window_poll_controllerCOMMENT
LOWsrc/platform/windowing/cocoa_window.h101// Nonzero while AppKit is performing a live (interactive) window resize. The renderCOMMENT
LOWsrc/platform/windowing/window.x11.go21#cgo noescape window_positionCOMMENT
LOWsrc/platform/windowing/android.c41COMMENT
LOWsrc/platform/windowing/window_android.go21/*COMMENT
LOWsrc/platform/windowing/strings.h41#include <stdio.h>COMMENT
LOWsrc/platform/windowing/x11.h41#include <X11/Xlib.h>COMMENT
LOWsrc/platform/windowing/shared_mem.h1COMMENT
LOWsrc/platform/windowing/shared_mem.h21COMMENT
LOWsrc/platform/windowing/cocoa_window.m1// Fixed Cocoa backend: single event ingestion model, no polling, no double-dispatchCOMMENT
LOWsrc/platform/windowing/cocoa_window.m21COMMENT
LOWsrc/platform/windowing/windowing.h41#if defined(_WIN32) || defined(_WIN64)COMMENT
LOWsrc/platform/windowing/memory.h1COMMENT
LOWsrc/platform/windowing/win32.c41COMMENT
LOWsrc/platform/windowing/win32.c61#include <string.h>COMMENT
179 more matches not shown…
Hallucination Indicators8 hits · 80 pts
SeverityFileLineSnippetContext
CRITICAL…_graph_workspace/render_graph_workspace_create_menu.go108 if m.workspace.Host.Window.Keyboard.KeyDown(hid.KeyboardKeyEscape) {CODE
CRITICALsrc/editor/global_interface/status_bar/status_bar.go160 pos := b.uiMan.Host.Window.Mouse.ScreenPosition()CODE
CRITICAL…r_overlay/content_selector/content_selector_overlay.go164 o.uiMan.Host.Window.Keyboard.RemoveKeyCallback(o.keyKb)CODE
CRITICAL…or/editor_overlay/file_browser/file_browser_overlay.go151 fb.uiMan.Host.Window.Keyboard.RemoveKeyCallback(keyCallbackId)CODE
CRITICAL…ditor_overlay/action_palette/action_palette_overlay.go114 p.uiMan.Host.Window.Keyboard.RemoveKeyCallback(p.keyKb)CODE
CRITICAL…ditor_stage_manager/editor_stage_view/stage_picking.go342 p.view.host.Window.GpuInstance == nil || !p.view.host.Window.GpuInstance.IsValid() {CODE
CRITICAL…ditor_stage_manager/editor_stage_view/stage_picking.go345 return p.view.host.Window.GpuInstance.PrimaryDevice()CODE
CRITICAL…e_manager/editor_stage_view/select_tool/select_tool.go84 p := s.uiMan.Host.Window.Cursor.ScreenPosition()CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/platform/windowing/cocoa_window.m2// APIs preserved as requestedCOMMENT
HIGHsrc/platform/windowing/win32.c896 // Reset rawInputRequested to true as requested by develper codeCOMMENT
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWAGENTS.md673input.Init("placeholder")CODE
LOWagent_skill/kaijuengine-game-dev/reference/ui.md66input := man.Add().ToInput(); input.Init("placeholder")CODE
LOW…/engine/ui/markup/css/pseudos/css_placeholder_shown.go15 if isValidationControl(elm) && elm.HasAttribute("placeholder") {CODE
LOWsrc/engine/ui/markup/document/html_parser_test.go65 if got := textarea.Attribute("placeholder"); got != "Say something" {CODE
LOWsrc/engine/ui/markup/document/html_parser.go340 input.Init(e.Attribute("placeholder"))CODE
LOWsrc/engine/ui/markup/document/html_parser.go380 textarea.Init(e.Attribute("placeholder"))CODE
LOWsrc/engine/encoding/pod/pod_test.go382 Street: "123 Main St",CODE
LOW…oject_database/content_database/cache_database_test.go50const validConfig = `{"Name":"placeholder","Type":"texture"}`CODE
LOW…oject_database/content_database/cache_database_test.go188 if cfg.Name != "placeholder" {CODE
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/ci-build-test.yml417 # NVIDIA with extended validation (best practices + sync)COMMENT
MEDIUM.github/workflows/ci-build-test.yml478 # Extended validation with GPU-assisted, best practices, and synchronizationCOMMENT
MEDIUMsrc/editor/editor_plugin_data.go567// is left untouched. This is more robust than a HasPrefix check againstCOMMENT
Structural Annotation Overuse4 hits · 6 pts
SeverityFileLineSnippetContext
LOWAGENTS.md168### Step 1: Implement GameInterfaceCOMMENT
LOWAGENTS.md195### Step 2: Implement LaunchCOMMENT
LOWAGENTS.md208### Step 3: Register UpdatesCOMMENT
LOWAGENTS.md221### Step 4: BootstrapCOMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWdocs/editor/plugins.md62 // TODO: implement plugin behaviourCOMMENT
LOWsrc/engine/stages/stage.go307 // TODO: Handle error?COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/main.ed.go27// feel free to modify this code for any special needs, but beware that whenCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/editor/editor_plugin/editor_plugin_manager.go43// Example call (taken from the scaffold body below):COMMENT
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtools/mkdocs/generate_blog_posts_json.py18def _read_existing_categories(output_path: Path) -> dict[str, str]:CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtools/mkdocs/generate_blog_posts_json.py1CODE