AI Slop Code RIsk Monitor

lmcinnes/umap

Uniform Manifold Approximation and Projection

31.5 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for lmcinnes/umap, a Python project with 8,273 GitHub stars. SynthScan examined 18,440 lines of code across 67 source files, recording 341 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 31.5 (High 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.

31.5
Adjusted Signal
31.5
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
8.3K
Stars
Python
Language
18.4K
Lines of Code
67
Files
341
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 48.3/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 5.0/100 · LOW

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

Agent Over-Engineering Ratio 75.6/100 · CRITICAL

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

PR Review Velocity Impact 75.2/100 · CRITICAL

Which changes need focused human review? 341 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 0MEDIUM 87LOW 254

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 341 distinct pattern matches across 9 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.

Decorative Section Separators86 hits · 316 pts
SeverityFileLineSnippetContext
MEDIUM⚡umap/tests/test_umap_nn.py14# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_nn.py16# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_nn.py20# -----------------------------------------------COMMENT
MEDIUMumap/tests/test_umap_nn.py38# -------------------------------------------------COMMENT
MEDIUMumap/tests/test_umap_nn.py40# -------------------------------------------------COMMENT
MEDIUMumap/tests/conftest.py1# ===========================COMMENT
MEDIUMumap/tests/conftest.py3# ==========================COMMENT
MEDIUMumap/tests/conftest.py17# -----------------------COMMENT
MEDIUMumap/tests/conftest.py35# ------------------------------COMMENT
MEDIUMumap/tests/conftest.py47# -----------------------COMMENT
MEDIUMumap/tests/conftest.py74# ---------------------COMMENT
MEDIUMumap/tests/conftest.py204# ---------------------COMMENT
MEDIUM⚡umap/tests/test_aligned_umap.py9# ===============================COMMENT
MEDIUM⚡umap/tests/test_aligned_umap.py11# ===============================COMMENT
MEDIUMumap/tests/test_aligned_umap.py102# ===============================COMMENT
MEDIUMumap/tests/test_aligned_umap.py104# ===============================COMMENT
MEDIUM⚡umap/tests/test_umap_trustworthiness.py18# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_trustworthiness.py20# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py224# ---------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py226# --------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py236# -------------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py339# -----------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py341# -----------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py355# ------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_ops.py357# ------------------------COMMENT
MEDIUMumap/tests/test_umap_ops.py1# ===================================================COMMENT
MEDIUMumap/tests/test_umap_ops.py4# ===================================================COMMENT
MEDIUMumap/tests/test_umap_ops.py274# -----------COMMENT
MEDIUMumap/tests/test_umap_ops.py276# -----------COMMENT
MEDIUMumap/tests/test_umap_validation_params.py1# ===============================COMMENT
MEDIUMumap/tests/test_umap_validation_params.py3# ===============================COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py23# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py25# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py27# ----------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py29# ----------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py257# ---------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py259# ---------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py401# --------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_metrics.py403# --------------------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py171# --------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py173# --------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py212# --------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py214# --------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py359# ---------------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py361# ---------------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py640# --------------------COMMENT
MEDIUMumap/tests/test_umap_metrics.py642# --------------------COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py7# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py9# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py12# ---------------------------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py47# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py49# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py52# ---------------------------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py98# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py100# ===================================================COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py103# ----------------------------------------------------COMMENT
MEDIUM⚡umap/tests/test_umap_repeated_data.py107# ----------------------------------------------------COMMENT
MEDIUMumap/tests/test_chunked_parallel_spatial_metric.py127# ---------------------------------------------------------------COMMENT
MEDIUMumap/tests/test_chunked_parallel_spatial_metric.py227# ----------------------------COMMENT
MEDIUMumap/tests/test_chunked_parallel_spatial_metric.py230# ----------------------------COMMENT
26 more matches not shown…
Hyper-Verbose Identifiers174 hits · 184 pts
SeverityFileLineSnippetContext
LOWumap/plot.py178def _embed_datashader_in_an_axis(datashader_image, ax):CODE
LOWumap/plot.py1690def nearest_neighbour_distribution(umap_object, bins=25, ax=None):STRING
LOWumap/distances.py93def standardised_euclidean_grad(x, y, sigma=_mock_ones):STRING
LOWumap/distances.py989def spherical_gaussian_energy_grad(x, y): # pragma: no coverSTRING
LOWumap/distances.py1007def diagonal_gaussian_energy_grad(x, y): # pragma: no coverSTRING
LOWumap/distances.py1174def hierarchical_categorical_distance(x, y, cat_hierarchy=[{}]):STRING
LOWumap/distances.py1469def chunked_parallel_special_metric(X, Y=None, metric=hellinger, chunk_size=16):STRING
LOWumap/distances.py1512def _symmetric_pairwise_distances(X, metric, result):STRING
LOWumap/distances.py1525def numba_aware_pairwise_distances(X, metric, **kwds):STRING
LOWumap/umap_.py111def raise_disconnected_warning(CODE
LOWumap/umap_.py374def compute_membership_strengths(CODE
LOWumap/umap_.py801def discrete_metric_simplicial_set_intersection(CODE
LOWumap/umap_.py879def general_simplicial_set_intersection(CODE
LOWumap/umap_.py907def general_simplicial_set_union(simplicial_set1, simplicial_set2):CODE
LOWumap/umap_.py961def _densmap_original_densities(CODE
LOWumap/umap_.py981def _densmap_embedding_densities(CODE
LOWumap/umap_.py2161 def _populate_combined_params(self, *models):CODE
LOWumap/sparse.py146def general_sset_intersection(CODE
LOWumap/layouts.py63def _optimize_layout_euclidean_single_epoch(CODE
LOWumap/layouts.py189def _optimize_layout_euclidean_densmap_epoch_init(CODE
LOWumap/layouts.py231def _get_optimize_layout_euclidean_single_epoch_fn(parallel: bool = False):CODE
LOWumap/layouts.py238def optimize_layout_euclidean(CODE
LOWumap/layouts.py445def _optimize_layout_generic_single_epoch(CODE
LOWumap/layouts.py661def _optimize_layout_inverse_single_epoch(CODE
LOWumap/layouts.py874def _optimize_layout_aligned_euclidean_single_epoch(CODE
LOWumap/layouts.py1025def optimize_layout_aligned_euclidean(CODE
LOWumap/parametric_umap.py653def init_embedding_from_graph(CODE
LOWumap/parametric_umap.py719def convert_distance_to_log_probability(distances, a=1.0, b=1.0):CODE
LOWumap/parametric_umap.py1298 def _parametric_reconstruction_loss(self, y, y_pred):CODE
LOWumap/aligned_umap.py112def build_neighborhood_similarities(graphs_indptr, graphs_indices, relations):CODE
LOWumap/aligned_umap.py234def init_from_existing_internal(CODE
LOWumap/validation.py9def trustworthiness_vector_bulk(CODE
LOWumap/validation.py35def make_trustworthiness_calculator(metric): # pragma: no coverCODE
LOWumap/validation.py37 def trustworthiness_vector_lowmem(source, indices_embedded, max_k):CODE
LOW⚡umap/tests/test_umap_nn.py26def test_nn_bad_metric_sparse_data(sparse_nn_data):CODE
LOWumap/tests/test_umap_nn.py67def test_nn_descent_neighbor_accuracy(nn_data): # pragma: no coverCODE
LOWumap/tests/test_umap_nn.py78def test_nn_descent_neighbor_accuracy_low_memory(nn_data): # pragma: no coverCODE
LOWumap/tests/test_umap_nn.py89def test_angular_nn_descent_neighbor_accuracy(nn_data): # pragma: no coverCODE
LOWumap/tests/test_umap_nn.py101def test_sparse_nn_descent_neighbor_accuracy(sparse_nn_data): # pragma: no coverCODE
LOWumap/tests/test_umap_nn.py112def test_sparse_nn_descent_neighbor_accuracy_low_memory(CODE
LOWumap/tests/test_umap_nn.py125def test_nn_descent_neighbor_accuracy_callable_metric(nn_data): # pragma: no coverCODE
LOWumap/tests/test_umap_nn.py137def test_sparse_angular_nn_descent_neighbor_accuracy(CODE
LOWumap/tests/test_umap_nn.py171def test_smooth_knn_dist_disconnected_neighbors():CODE
LOWumap/tests/test_plot.py56def test_nhood_search_uses_model_metric(metric, sparse_input):CODE
LOWumap/tests/conftest.py120def sparse_spatial_data_repeats(spatial_repeats, binary_repeats):CODE
LOWumap/tests/conftest.py125def sparse_binary_data_repeats(binary_repeats):CODE
LOW⚡umap/tests/test_aligned_umap.py21def test_neighbor_local_neighbor_accuracy(aligned_iris, aligned_iris_model):CODE
LOWumap/tests/test_aligned_umap.py58def test_aligned_update_params(aligned_iris, aligned_iris_relations):CODE
LOWumap/tests/test_aligned_umap.py74def test_aligned_update_does_not_mutate_inputs(aligned_iris, aligned_iris_relations):CODE
LOWumap/tests/test_aligned_umap.py90def test_aligned_update_array_error(aligned_iris, aligned_iris_relations):CODE
LOWumap/tests/test_aligned_umap.py167def test_expand_relations_shape_and_sum(window_size, shape, total):CODE
LOWumap/tests/test_parametric_umap.py67def test_custom_encoder_decoder(moon_dataset):CODE
LOWumap/tests/test_parametric_umap.py149def test_landmark_retraining_no_nan():CODE
LOWumap/tests/test_parametric_umap.py164def test_umap_loss_grads_finite_under_xla():CODE
LOW⚡umap/tests/test_umap_trustworthiness.py23def test_umap_sparse_trustworthiness(sparse_test_data):CODE
LOW⚡umap/tests/test_umap_trustworthiness.py31def test_umap_trustworthiness_fast_approx(nn_data):CODE
LOWumap/tests/test_umap_trustworthiness.py46def test_umap_trustworthiness_random_init(nn_data):CODE
LOWumap/tests/test_umap_trustworthiness.py57def test_supervised_umap_trustworthiness():CODE
LOWumap/tests/test_umap_trustworthiness.py68def test_semisupervised_umap_trustworthiness():CODE
LOWumap/tests/test_umap_trustworthiness.py80def test_metric_supervised_umap_trustworthiness():CODE
114 more matches not shown…
Deep Nesting33 hits · 32 pts
SeverityFileLineSnippetContext
LOWumap/plot.py982CODE
LOWumap/plot.py1313CODE
LOWumap/distances.py1469CODE
LOWumap/umap_.py85CODE
LOWumap/umap_.py153CODE
LOWumap/umap_.py374CODE
LOWumap/umap_.py1000CODE
LOWumap/umap_.py1453CODE
LOWumap/umap_.py1837CODE
LOWumap/umap_.py2424CODE
LOWumap/umap_.py3069CODE
LOWumap/umap_.py3364CODE
LOWumap/umap_.py3536CODE
LOWumap/sparse.py46CODE
LOWumap/sparse.py146CODE
LOWumap/spectral.py19CODE
LOWumap/spectral.py415CODE
LOWumap/layouts.py63CODE
LOWumap/layouts.py445CODE
LOWumap/layouts.py661CODE
LOWumap/layouts.py874CODE
LOWumap/parametric_umap.py653CODE
LOWumap/aligned_umap.py70CODE
LOWumap/aligned_umap.py112CODE
LOWumap/aligned_umap.py213CODE
LOWumap/aligned_umap.py234CODE
LOWumap/validation.py9CODE
LOWumap/validation.py35CODE
LOWumap/validation.py37CODE
LOWumap/tests/test_chunked_parallel_spatial_metric.py22CODE
LOWumap/tests/test_chunked_parallel_spatial_metric.py72CODE
LOWumap/tests/test_chunked_parallel_spatial_metric.py24CODE
LOWumap/tests/test_chunked_parallel_spatial_metric.py74CODE
Unused Imports20 hits · 19 pts
SeverityFileLineSnippetContext
LOWumap/plot.py46CODE
LOWumap/plot.py46CODE
LOWumap/umap_.py4CODE
LOWumap/umap_.py9CODE
LOWumap/__init__.py2CODE
LOWumap/__init__.py32CODE
LOWumap/__init__.py35CODE
LOWumap/__init__.py7CODE
LOWumap/__init__.py7CODE
LOWumap/sparse.py5CODE
LOWumap/parametric_umap.py41CODE
LOWumap/tests/test_plot.py10CODE
LOWumap/tests/test_parametric_umap.py2CODE
LOWumap/tests/test_parametric_umap.py6CODE
LOWumap/tests/test_parametric_umap.py16CODE
LOWumap/tests/test_umap_validation_params.py13CODE
LOWumap/tests/test_umap_on_iris.py10CODE
LOWexamples/galaxy10sdss.py25CODE
LOWbenchmarks/bench_fastmath_removal.py19CODE
LOWbenchmarks/bench_fastmath_removal.py19CODE
AI Structural Patterns17 hits · 17 pts
SeverityFileLineSnippetContext
LOWumap/plot.py283CODE
LOWumap/plot.py393CODE
LOWumap/plot.py511CODE
LOWumap/plot.py756CODE
LOWumap/plot.py982CODE
LOWumap/plot.py1313CODE
LOWumap/umap_.py455CODE
LOWumap/umap_.py1750CODE
LOWumap/layouts.py238CODE
LOWumap/layouts.py527CODE
LOWumap/layouts.py733CODE
LOWumap/layouts.py1025CODE
LOWumap/parametric_umap.py48CODE
LOWumap/parametric_umap.py1126CODE
LOWumap/aligned_umap.py275CODE
LOWumap/validation.py87CODE
LOWumap/tests/test_umap_grads.py76CODE
Over-Commented Block7 hits · 6 pts
SeverityFileLineSnippetContext
LOWumap/tests/test_parametric_umap.py121# @not_windowsCOMMENT
LOWumap/tests/test_umap_ops.py21COMMENT
LOWumap/tests/test_umap_grads.py301# TODOCOMMENT
LOWci_scripts/success.sh1set -eCOMMENT
LOWdoc/conf.py1#!/usr/bin/env python3COMMENT
LOWdoc/conf.py61author = "Leland McInnes"COMMENT
LOWdoc/conf.py141htmlhelp_basename = "umapdoc"COMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdoc/conf.py7# This file is execfile()d with the current directory set to itsCOMMENT
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOW⚡benchmarks/bench_fastmath_removal.py97 except Exception:CODE
LOWbenchmarks/bench_fastmath_removal.py239 except Exception as e:CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWumap/umap_.py2502 # Check if we should unique the dataCOMMENT