AI Slop Code RIsk Monitor

exaloop/codon

A high-performance, zero-overhead, extensible Python compiler with built-in NumPy support

4.9 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for exaloop/codon, a Python project with 16,859 GitHub stars. SynthScan examined 92,011 lines of code across 348 source files, recording 286 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 4.9 (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.

4.9
Adjusted Signal
4.9
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
16.9K
Stars
Python
Language
92.0K
Lines of Code
348
Files
286
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 10.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 14.4/100 · LOW

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

PR Review Velocity Impact 24.6/100 · LOW

Which changes need focused human review? 286 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 25MEDIUM 54LOW 207

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 286 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 Block137 hits · 137 pts
SeverityFileLineSnippetContext
LOWtest/types.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWtest/main.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWtest/cir/llvm/optimize.cpp1#include "test.h"COMMENT
LOWdocs/developers/ir.md201functions or types as needed in the pass.COMMENT
LOWcodon/app/main.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/util/common.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/util/tser.h1// Licensed under the Boost License <https://opensource.org/licenses/BSL-1.0>.COMMENT
LOWcodon/util/peg2cpp.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/exc.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/lib.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/lib.cpp21#include <unistd.h>COMMENT
LOWcodon/runtime/lib.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/re.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/numpy/sort.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/runtime/numpy/loops.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/common.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/cache.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/cache.h21COMMENT
LOWcodon/parser/cache.h281 std::string getTemporaryVar(const std::string &prefix = "", char sigil = '%');COMMENT
LOWcodon/parser/cache.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/common.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ctx.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/translate/translate.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/scoping/scoping.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/scoping/scoping.cpp1// Copyright (C) 2022-2023 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/doc/doc.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/doc/doc.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/typecheck.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/collections.cpp161/// @exampleCOMMENT
LOWcodon/parser/visitors/typecheck/infer.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/error.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/error.cpp41/// except python.Error as e: ...COMMENT
LOWcodon/parser/visitors/typecheck/error.cpp201 }COMMENT
LOWcodon/parser/visitors/typecheck/typecheck.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/typecheck.cpp581}COMMENT
LOWcodon/parser/visitors/typecheck/special.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/assign.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/assign.cpp461/// `a += b` -> `a.__iadd__(a, b)` if `__iadd__` existsCOMMENT
LOWcodon/parser/visitors/typecheck/call.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/call.cpp861 return done;COMMENT
LOWcodon/parser/visitors/typecheck/function.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/function.cpp701 clone(args), ret ? clone(ret) : N<IdExpr>("pyobj"))));COMMENT
LOWcodon/parser/visitors/typecheck/cond.cpp141 // Make sure to break even if there is no case _ to prevent infinite loopCOMMENT
LOWcodon/parser/visitors/typecheck/loops.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/class.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/class.cpp521 cls->mro = Cache::mergeC3(mro);COMMENT
LOWcodon/parser/visitors/typecheck/access.cpp81COMMENT
LOWcodon/parser/visitors/typecheck/access.cpp301 }COMMENT
LOWcodon/parser/visitors/typecheck/ctx.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/visitors/typecheck/ctx.h121 /// Map of captured identifiers (i.e., identifiers not defined in a function).COMMENT
LOWcodon/parser/visitors/typecheck/import.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/peg/peg.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast/types.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast/expr.cpp1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast/expr.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast/stmt.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
LOWcodon/parser/ast/stmt.h361COMMENT
LOWcodon/parser/ast/types/type.h61 /// @param undo A reference to Unification structure to track the unification stepsCOMMENT
LOWcodon/parser/ast/types/link.h1// Copyright (C) 2022-2026 Exaloop Inc. <https://exaloop.io>COMMENT
77 more matches not shown…
Empty Error Handlers25 hits · 125 pts
SeverityFileLineSnippetContext
HIGHtest/python/cython_jit.py25except ValueError:CODE
HIGHtest/python/cython_jit.py36except RuntimeError:CODE
HIGHtest/python/cython_jit.py42except codon.JITError:CODE
HIGHtest/python/cython_jit.py53except RuntimeError:CODE
HIGHtest/python/cython_jit.py62except RuntimeError:CODE
HIGHtest/python/cython_jit.py171except codon.JITError:CODE
HIGHtest/python/cython_jit.py14except ValueError:CODE
HIGHtest/python/pyext.py179except:CODE
HIGHtest/python/pyext.py204except:CODE
HIGHtest/python/pyext.py211except:CODE
HIGHtest/python/pyext.py218except:CODE
HIGHtest/python/pyext.py231except:CODE
HIGHtest/python/pyext.py238except:CODE
HIGHtest/python/pyext.py255except:CODE
HIGHtest/python/pyext.py262except:CODE
HIGHtest/python/pyext.py296except:CODE
HIGHtest/python/pyext.py99except:CODE
HIGHtest/python/pyext.py106except:CODE
HIGHtest/python/pyext.py115except:CODE
HIGHtest/python/pyext.py122except:CODE
HIGHtest/python/pyext.py133except:CODE
HIGHtest/python/pyext.py140except:CODE
HIGHtest/python/pyext.py414except StopIteration:CODE
HIGHtest/python/pyext.py468except AttributeError:CODE
HIGHscripts/docgen.py109except ValueError:CODE
Decorative Section Separators52 hits · 106 pts
SeverityFileLineSnippetContext
MEDIUMscripts/docgen.py17# =============================================================================COMMENT
MEDIUMscripts/docgen.py19# =============================================================================COMMENT
MEDIUMscripts/docgen.py48# =============================================================================COMMENT
MEDIUMscripts/docgen.py50# =============================================================================COMMENT
MEDIUMscripts/docgen.py69# =============================================================================COMMENT
MEDIUMscripts/docgen.py71# =============================================================================COMMENT
MEDIUMscripts/docgen.py138# =============================================================================COMMENT
MEDIUMscripts/docgen.py140# =============================================================================COMMENT
MEDIUMscripts/docgen.py231# =============================================================================COMMENT
MEDIUMscripts/docgen.py233# =============================================================================COMMENT
MEDIUMscripts/docgen.py272# =============================================================================COMMENT
MEDIUMscripts/docgen.py274# =============================================================================COMMENT
MEDIUMscripts/docgen.py322# =============================================================================COMMENT
MEDIUMscripts/docgen.py324# =============================================================================COMMENT
MEDIUMscripts/docgen.py379# =============================================================================COMMENT
MEDIUMscripts/docgen.py381# =============================================================================COMMENT
MEDIUMscripts/docgen.py456# =============================================================================COMMENT
MEDIUMscripts/docgen.py458# =============================================================================COMMENT
MEDIUMscripts/docgen.py678# =============================================================================COMMENT
MEDIUMscripts/docgen.py680# =============================================================================COMMENT
MEDIUMscripts/docgen.py981# =============================================================================COMMENT
MEDIUMscripts/docgen.py983# =============================================================================COMMENT
MEDIUMscripts/docgen.py1251# =============================================================================COMMENT
MEDIUMscripts/docgen.py1253# =============================================================================COMMENT
MEDIUMscripts/docgen.py1410# =============================================================================COMMENT
MEDIUMscripts/docgen.py1412# =============================================================================COMMENT
MEDIUMscripts/docgen.py1537# =============================================================================COMMENT
MEDIUMscripts/docgen.py1539# =============================================================================COMMENT
MEDIUMscripts/docgen.py1605# =============================================================================COMMENT
MEDIUMscripts/docgen.py1607# =============================================================================COMMENT
MEDIUMscripts/docgen.py1673# =============================================================================COMMENT
MEDIUMscripts/docgen.py1675# =============================================================================COMMENT
MEDIUMscripts/docgen.py1736# =============================================================================COMMENT
MEDIUMscripts/docgen.py1738# =============================================================================COMMENT
MEDIUMscripts/docgen.py1841# =============================================================================COMMENT
MEDIUMscripts/docgen.py1843# =============================================================================COMMENT
MEDIUMscripts/docgen.py1892# =============================================================================COMMENT
MEDIUMscripts/docgen.py1894# =============================================================================COMMENT
MEDIUMscripts/docgen.py2178# =============================================================================COMMENT
MEDIUMscripts/docgen.py2180# =============================================================================COMMENT
MEDIUMscripts/docgen.py2543# =============================================================================COMMENT
MEDIUMscripts/docgen.py2545# =============================================================================COMMENT
MEDIUMscripts/docgen.py2620# =============================================================================COMMENT
MEDIUMscripts/docgen.py2622# =============================================================================COMMENT
MEDIUMscripts/docgen.py2831# =============================================================================COMMENT
MEDIUMscripts/docgen.py2833# =============================================================================COMMENT
MEDIUMscripts/docgen.py2873# =============================================================================COMMENT
MEDIUMscripts/docgen.py2875# =============================================================================COMMENT
MEDIUMscripts/docgen.py2892# =============================================================================COMMENT
MEDIUMscripts/docgen.py2894# =============================================================================COMMENT
MEDIUMscripts/docgen.py2938# =============================================================================COMMENT
MEDIUMscripts/docgen.py2940# =============================================================================COMMENT
Hyper-Verbose Identifiers38 hits · 48 pts
SeverityFileLineSnippetContext
LOWtest/python/pyext.py49def test_export_only_dispatch():CODE
LOWtest/cir/llvm/optimize.cpp1135def release_reassigned_update(values: np.ndarray[float, 1]):CODE
LOWtest/cir/llvm/optimize.cpp1949def fused_scalar_coefficients(values: np.ndarray[float, 2], dx: float, dy: float):CODE
LOWtest/cir/llvm/optimize.cpp2477def reverse_subtract_gemm_into(left: np.ndarray[float, 2], right: np.ndarray[float, 2]):CODE
LOWtest/cir/llvm/optimize.cpp2488def reverse_subtract_gemm_out(left: np.ndarray[float, 2], right: np.ndarray[float, 2]):CODE
LOW⚡test/cir/transform/format.cpp41 "def format_optimization_probe(value: int):\n"CODE
LOW⚡test/cir/transform/format.cpp47 "def format_optimization_compound(value: FormatOptimizationValue, "CODE
LOW⚡test/cir/transform/format.cpp50 "def format_optimization_bad_member(value: FormatOptimizationValue):\n"CODE
LOW⚡test/cir/transform/format.cpp52 "def format_optimization_bad_element(value: int):\n"CODE
LOW⚡test/cir/transform/format.cpp54 "def format_optimization_dynamic(format: str, value: int):\n"CODE
LOW⚡test/cir/transform/format.cpp56 "def format_optimization_malformed(value: int):\n"CODE
LOW⚡test/cir/transform/format.cpp61 "def format_optimization_custom(value: FormatOptimizationCustom):\n"CODE
LOW⚡docs/parallel/multithreading.md152def only_run_by_one_thread_at_a_time():CODE
LOW⚡docs/parallel/multithreading.md156def only_run_by_master_thread():CODE
LOW⚡docs/parallel/multithreading.md160def only_run_by_single_thread():CODE
LOWscripts/generate_unicode_normalization_data.py40def compatibility_decomposition(codepoint: int) -> tuple[int, ...]:CODE
LOWscripts/generate_unicode_normalization_data.py87def build_raw_decomposition_data():CODE
LOW⚡scripts/generate_unicode_normalization_data.py180 "def _normalization_decomposition_entry(index: int) -> u64:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py186 "def _normalization_decomposition_value(index: int) -> i32:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py192 "def _normalization_raw_decomposition_entry(index: int) -> u64:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py198 "def _normalization_raw_decomposition_value(index: int) -> i32:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py204 "def _normalization_compatibility_decomposition_entry(index: int) -> u64:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py210 "def _normalization_compatibility_decomposition_value(index: int) -> i32:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py216 "def _normalization_combining_entry(index: int) -> u64:\n"CODE
LOW⚡scripts/generate_unicode_normalization_data.py222 "def _normalization_composition_entry(index: int) -> u64:\n"CODE
LOWscripts/generate_unicode_data.py235def _unicode_numeric_value_index(index: int) -> i16:CODE
LOWscripts/generate_unicode_data.py591def parse_property_codepoints(path, property_name):STRING
LOWscripts/docgen.py1032def build_api_reference_index():CODE
LOWscripts/docgen.py1930def group_member_contributions(contributions):CODE
LOWscripts/docgen.py2406def consolidated_class_fields(class_info):CODE
LOWscripts/unicode/test_tables.py58 def test_round_trip_and_determinism(self):CODE
LOW⚡scripts/unicode/test_tables.py72 def test_archive_corruption_does_not_extract(self):CODE
LOW⚡scripts/unicode/test_tables.py79 def test_generator_changes_require_regeneration(self):CODE
LOW⚡scripts/unicode/test_tables.py84 def test_manifest_version_and_paths(self):CODE
LOWscripts/unicode/test_tables.py95 def test_unsafe_and_duplicate_members(self):CODE
LOW⚡scripts/unicode/test_tables.py118 def test_member_size_and_hash(self):CODE
LOW⚡scripts/unicode/test_tables.py126 def test_bad_inputs_rejected_before_generation(self):CODE
LOW⚡scripts/unicode/test_tables.py136 def test_wrong_host_database_rejected(self):CODE
Deep Nesting18 hits · 17 pts
SeverityFileLineSnippetContext
LOWbench/codon/go.py46CODE
LOWbench/codon/go.py72CODE
LOWbench/codon/go.py245CODE
LOWbench/codon/go.py263CODE
LOWtest/python/pyext.py4CODE
LOWtest/python/find-python-library.py3CODE
LOWtest/stdlib/pathlib_differential.py158CODE
LOWtest/stdlib/pathlib_differential.py330CODE
LOWtest/stdlib/pathlib_differential.py393CODE
LOWtest/stdlib/statistics_differential.py118CODE
LOWtest/stdlib/statistics_differential.py194CODE
LOWjit/codon/decorator.py78CODE
LOWjit/codon/decorator.py204CODE
LOWscripts/unicode_tables.py159CODE
LOWscripts/generate_unicode_data.py421CODE
LOWscripts/docgen.py1032CODE
LOWscripts/docgen.py2547CODE
LOWscripts/generate_single_byte_codecs.py33CODE
Unused Imports9 hits · 9 pts
SeverityFileLineSnippetContext
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
LOWjit/codon/__init__.py7CODE
Excessive Try-Catch Wrapping3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtest/stdlib/statistics_differential.py69 except Exception as error:CODE
LOWtest/stdlib/statistics_differential.py230 except Exception as error:STRING
MEDIUMtest/stdlib/statistics_differential.py142def rounded_fraction(value):CODE
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtest/python/mymodule.py15CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcodon/parser/visitors/doc/doc.cpp501 // TODO: implement this corner caseCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbench/codon/taq.py37def process_data(series):CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWjit/codon/__init__.py3__all__ = [CODE