AI Slop Code Risk Monitor

chrxh/alien

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

ALIEN is a CUDA-powered artificial life simulation program.

2.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for chrxh/alien, a C++ project with 5,564 GitHub stars. SynthScan examined 160,965 lines of code across 828 source files, recording 400 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.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.

2.5
Adjusted Signal
2.5
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
5.6K
Stars
C++
Language
161.0K
Lines of Code
828
Files
400
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 11.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 3.3/100 · LOW

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

PR Review Velocity Impact 12.0/100 · LOW

Which changes need focused human review? 400 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 2MEDIUM 1LOW 397

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 400 distinct pattern matches across 13 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 Block262 hits · 247 pts
SeverityFileLineSnippetContext
LOWCMakeLists.txt101 # Force-include: clang-cl requires /FI<path> (no space, MSVC style).COMMENT
LOWCMakeLists.txt121 # --offload-arch is required at link time to select the correct target.COMMENT
LOWCMakeLists.txt181 # Force-include the single CUDA->HIP compat header on every HIP translationCOMMENT
LOWCMakeLists.txt381# The build output directory doubles as the deployment payloadCOMMENT
LOWsource/McpTools/Impl/McpNetworkTools.cpp1#include "McpNetworkTools.h"COMMENT
LOWsource/McpTools/Impl/McpSimulationTools.cpp1#include "McpSimulationTools.h"COMMENT
LOWsource/McpTools/Impl/McpGenomeEditTools.cpp1#include "McpGenomeEditTools.h"COMMENT
LOWsource/McpTools/Impl/McpSelectionTools.cpp1#include "McpSelectionTools.h"COMMENT
LOWsource/McpTools/Impl/McpTemporalTools.cpp1#include "McpTemporalTools.h"COMMENT
LOWsource/McpTools/Impl/McpGenomeTools.cpp1#include "McpGenomeTools.h"COMMENT
LOWsource/McpTools/Impl/McpEditTools.cpp1#include "McpEditTools.h"COMMENT
LOWsource/McpTools/Impl/GenomeMassEditService.h1#pragma onceCOMMENT
LOWsource/McpTools/Impl/McpInspectionTools.cpp1#include "McpInspectionTools.h"COMMENT
LOWsource/McpTools/Impl/McpDocumentationTools.cpp1#include "McpDocumentationTools.h"COMMENT
LOWsource/McpTools/Impl/McpCreatorTools.cpp1#include "McpCreatorTools.h"COMMENT
LOWsource/McpTools/Impl/McpParameterTools.cpp1#include "McpParameterTools.h"COMMENT
LOWsource/McpTools/Impl/McpParameterTools.cpp21COMMENT
LOWsource/McpTools/Impl/McpViewTools.cpp1#include "McpViewTools.h"COMMENT
LOWsource/McpTools/Impl/GenomeMassEditService.cpp1#include "GenomeMassEditService.h"COMMENT
LOWsource/McpTools/Impl/McpToolsFacadeImpl.cpp1#include "McpToolsFacadeImpl.h"COMMENT
LOWsource/McpTools/Impl/McpMassOperationTools.cpp1#include "McpMassOperationTools.h"COMMENT
LOW…rce/McpTools/Impl/Tests/GenomeMassEditServiceTests.cpp1#include <ranges>COMMENT
LOWsource/ConsoleUi/ConsoleInput.cpp1#include "ConsoleInput.h"COMMENT
LOWsource/Network/McpServer.cpp1#include "McpServer.h"COMMENT
LOWsource/Server/main.py461 return FalseCOMMENT
LOWsource/Server/main.py661 except (TypeError, ValueError):COMMENT
LOWsource/Gui/Impl/BrowserUserListWidget.cpp1#include "BrowserUserListWidget.h"COMMENT
LOWsource/Gui/Impl/NodeEditorWidget.cpp1#include "NodeEditorWidget.h"COMMENT
LOWsource/Gui/Impl/LoginDialog.cpp1#include "LoginDialog.h"COMMENT
LOWsource/Gui/Impl/ImageToPatternDialog.cpp1#include "ImageToPatternDialog.h"COMMENT
LOWsource/Gui/Impl/MutationRatesWidget.cpp1#include "MutationRatesWidget.h"COMMENT
LOWsource/Gui/Impl/AlienGui.h1#pragma onceCOMMENT
LOWsource/Gui/Impl/MassEditDialog.cpp1#include "MassEditDialog.h"COMMENT
LOWsource/Gui/Impl/ConsoleModeController.cpp1#include "ConsoleModeController.h"COMMENT
LOWsource/Gui/Impl/McpController.cpp1#include "McpController.h"COMMENT
LOWsource/Gui/Impl/EditSimulationDialog.cpp1#include "EditSimulationDialog.h"COMMENT
LOWsource/Gui/Impl/DisplaySettingsDialog.cpp1#include "DisplaySettingsDialog.h"COMMENT
LOWsource/Gui/Impl/GeneGraphWidget.cpp1#include "GeneGraphWidget.h"COMMENT
LOWsource/Gui/Impl/SimulationParametersMainWindow.cpp1#include "SimulationParametersMainWindow.h"COMMENT
LOWsource/Gui/Impl/TemporalControlWindow.cpp1#include "TemporalControlWindow.h"COMMENT
LOWsource/Gui/Impl/OverlayController.cpp1#include "OverlayController.h"COMMENT
LOWsource/Gui/Impl/SavePictureDialog.cpp1#include "SavePictureDialog.h"COMMENT
LOWsource/Gui/Impl/PreviewWidget.cpp1#include "PreviewWidget.h"COMMENT
LOWsource/Gui/Impl/SelectionWidget.cpp1#include "SelectionWidget.h"COMMENT
LOWsource/Gui/Impl/DocumentationWindow.cpp1#include "DocumentationWindow.h"COMMENT
LOWsource/Gui/Impl/McpWindow.cpp1#include "McpWindow.h"COMMENT
LOWsource/Gui/Impl/CreaturePreviewWidget.cpp1#include "CreaturePreviewWidget.h"COMMENT
LOWsource/Gui/Impl/SimulationInteractionController.cpp1#include "SimulationInteractionController.h"COMMENT
LOWsource/Gui/Impl/InspectionController.cpp1#include "InspectionController.h"COMMENT
LOWsource/Gui/Impl/AutosaveWindow.cpp1#include "AutosaveWindow.h"COMMENT
LOWsource/Gui/Impl/NetworkTransferController.h1#pragma onceCOMMENT
LOWsource/Gui/Impl/AutosaveController.cpp1#include "AutosaveController.h"COMMENT
LOWsource/Gui/Impl/MarkdownRenderer.cpp1#include "MarkdownRenderer.h"COMMENT
LOWsource/Gui/Impl/EvolutionDashboardWindow.cpp1#include "EvolutionDashboardWindow.h"COMMENT
LOWsource/Gui/Impl/EditorController.cpp1#include "EditorController.h"COMMENT
LOWsource/Gui/Impl/AlienGui.cpp1#include "AlienGui.h"COMMENT
LOWsource/Gui/Impl/SpatialControlWindow.cpp1#include "SpatialControlWindow.h"COMMENT
LOWsource/Gui/Impl/PictureGuiService.cpp1#include "PictureGuiService.h"COMMENT
LOWsource/Gui/Impl/MainWindow.cpp1#include "MainWindow.h"COMMENT
LOWsource/Gui/Impl/MainWindow.cpp21#include <Engine/Interface/SimulationFacade.h>COMMENT
202 more matches not shown…
Hyper-Verbose Identifiers106 hits · 98 pts
SeverityFileLineSnippetContext
LOW⚡source/Server/main.py308def _store_active_simulator_count(timestamp: datetime):CODE
LOW⚡source/Server/main.py317def _store_active_simulator_counts_hourly():CODE
LOW⚡source/Server/main.py331def start_active_simulator_history():CODE
LOW⚡source/Server/main.py336def stop_active_simulator_history():CODE
LOWsource/Server/main.py258def _remove_inactive_simulators(now: float):CODE
LOWsource/Server/main.py286def get_active_simulator_count():CODE
LOWsource/Server/main.py348def get_active_simulator_history(response: Response):CODE
LOWsource/Server/main.py486def _build_discord_multipart_body(boundary: str, payload: dict, picture: bytes) -> bytes:CODE
LOWsource/Server/main.py633def _check_password_and_activation_code(user: "User", password: str, activation_code: str) -> bool:CODE
LOWsource/Server/main.py1056def get_versioned_simulation_list(CODE
LOWsource/Server/tests/test_active_simulators_api.py31def test_count_is_zero_without_list_fetches(app_client):CODE
LOWsource/Server/tests/test_active_simulators_api.py35def test_list_fetches_are_counted_per_address(app_client):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py46def test_opted_in_clients_are_counted(app_client):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py52def test_opted_out_clients_are_not_counted(app_client):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py58def test_reports_are_counted_per_address(app_client):CODE
LOWsource/Server/tests/test_active_simulators_api.py69def test_report_and_list_fetch_from_one_address_count_once(app_client):CODE
LOWsource/Server/tests/test_active_simulators_api.py78def test_inactive_simulators_expire(app_client, monkeypatch):CODE
LOWsource/Server/tests/test_active_simulators_api.py91def test_addresses_are_not_stored_in_plain_text(app_client):CODE
LOWsource/Server/tests/test_active_simulators_api.py97def test_new_simulators_beyond_limit_are_ignored(app_client, monkeypatch):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py120def test_history_is_empty_without_snapshots(app_client):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py124def test_history_is_readable_from_other_origins(app_client):CODE
LOW⚡source/Server/tests/test_active_simulators_api.py130def test_snapshots_store_the_active_simulator_count(app_client, monkeypatch):CODE
LOWsource/Server/tests/test_active_simulators_api.py145def test_history_is_sorted_by_time(app_client, monkeypatch):CODE
LOWsource/Server/tests/test_active_simulators_api.py158def test_snapshots_are_skipped_during_warm_up(app_client):CODE
LOWsource/Server/tests/test_active_simulators_api.py174def test_snapshots_are_taken_at_full_hours(app_client, monkeypatch):CODE
LOWsource/Server/tests/conftest.py24def _bigint_as_integer_in_sqlite(_element, _compiler, **_kw):CODE
LOW⚡source/Server/tests/test_users_api.py155def test_activate_user_with_wrong_code_fails(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py161def test_activate_user_with_wrong_password_fails(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py167def test_activate_user_unknown_user_fails(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py172def test_activate_user_accepts_optional_gpu(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py179def test_login_success_sets_flags_and_gpu(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py611def test_reset_password_wrong_email_fails(app_client, helpers):CODE
LOW⚡source/Server/tests/test_users_api.py621def test_reset_password_unknown_user_fails(app_client):CODE
LOW⚡source/Server/tests/test_users_api.py629def test_set_new_password_updates_credentials(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py19def test_create_user_succeeds_and_persists_pending_user(app_client):CODE
LOWsource/Server/tests/test_users_api.py40def test_create_user_rejects_name_with_spaces(app_client):CODE
LOWsource/Server/tests/test_users_api.py49def test_create_user_rejects_empty_name(app_client):CODE
LOWsource/Server/tests/test_users_api.py66def test_create_user_replaces_pending_record_with_same_name(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py80def test_create_user_rejects_existing_activated_name(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py91def test_create_user_rejects_email_of_activated_account(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py106def test_create_user_rejects_email_differing_only_in_case_or_spaces(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py117def test_create_user_replaces_pending_record_with_same_email(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py129def test_create_user_accepts_email_freed_by_deleted_account(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py142def test_activate_user_clears_activation_code(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py197def test_login_stores_program_version(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py212def test_login_without_version_succeeds(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py260def test_logout_with_wrong_password_fails(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py269def test_refresh_login_accumulates_seconds_capped_per_call(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py322def test_refresh_login_caps_long_gap_at_max(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py365def test_refresh_login_with_wrong_password_fails(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py375def test_refresh_login_updates_gpu(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py393def test_refresh_login_without_gpu_keeps_stored_gpu(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py410def test_login_resets_clock_so_offline_time_is_not_counted(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py485def test_delete_user_removes_row(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py499def test_delete_user_cascades_to_userlikes_and_resources(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py555def test_delete_user_wrong_password_fails(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py569def test_delete_user_unknown_user_fails(app_client):CODE
LOWsource/Server/tests/test_users_api.py577def test_reset_password_sets_new_activation_code(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py593def test_reset_password_accepts_legacy_email_hash(app_client, helpers):CODE
LOWsource/Server/tests/test_users_api.py658def test_set_new_password_wrong_activation_code_fails(app_client, helpers):CODE
46 more matches not shown…
Structural Annotation Overuse9 hits · 16 pts
SeverityFileLineSnippetContext
LOWresources/docs/first-creature.md7## Step 1: Prepare an empty worldCOMMENT
LOW⚡resources/docs/first-creature.md19## Step 2: Open the genome editorCOMMENT
LOW⚡resources/docs/first-creature.md29## Step 3: Build a bodyCOMMENT
LOW⚡resources/docs/first-creature.md38## Step 4: Give it eyes and legsCOMMENT
LOWresources/docs/first-creature.md50## Step 5: Bring it to lifeCOMMENT
LOWresources/docs/first-creature.md57## Step 6: Feed itCOMMENT
LOWresources/docs/first-creature.md68## Step 7: Let it reproduceCOMMENT
LOWsource/Data/MassEditService.cpp17 // Step 1: Group cells by creatureIdCOMMENT
LOWsource/Data/MassEditService.cpp29 // Step 2: For non-cell objects, find path-connected components via BFSCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHsource/Engine/Impl/Tests/RadiationTests.cpp19 // Set a very high radiation rate for all colors as requestedCOMMENT
Excessive Try-Catch Wrapping5 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡source/Server/main.py326 except Exception:CODE
LOWsource/Server/main.py542 except Exception as exc:CODE
LOWsource/Server/main.py720 except Exception as exc: # pragma: no cover - defensiveCODE
LOWsource/Server/main.py933 except Exception:CODE
LOWsource/Server/main.py1195 except Exception:CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsource/Server/tests/conftest.py49except AttributeError:CODE
Deep Nesting5 hits · 4 pts
SeverityFileLineSnippetContext
LOWsource/Server/main.py415CODE
LOWsource/Server/main.py696CODE
LOWsource/Server/main.py772CODE
LOWsource/Server/main.py1275CODE
LOWexternal/hip/hip_link_win.py59CODE
Unused Imports5 hits · 4 pts
SeverityFileLineSnippetContext
LOWsource/Server/tests/test_active_simulators_api.py3CODE
LOWsource/Server/tests/conftest.py8CODE
LOWsource/Server/tests/conftest.py11CODE
LOWsource/Server/tests/test_users_api.py8CODE
LOWsource/Server/tests/test_resources_api.py9CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsource/Server/tests/conftest.py52 # Create the schema (the app normally does this in its startup hook).COMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsource/Data/MassEditService.cpp17 // Step 1: Group cells by creatureIdCOMMENT
LOWsource/Data/MassEditService.cpp29 // Step 2: For non-cell objects, find path-connected components via BFSCOMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsource/Server/main.py948 # in that case we count nothing for this refresh and just setCOMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWexternal/WinReg/WinReg.hpp745 // Don't forget to NUL-terminate the current stringCOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsource/Server/tests/conftest.py133CODE