AI Slop Code Risk Monitor

gonum/gonum

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

Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

3.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for gonum/gonum, a Go project with 8,454 GitHub stars. SynthScan examined 322,284 lines of code across 1431 source files, recording 984 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.1
Adjusted Signal
3.1
Raw Pattern Score
100%
Time Factor
2026-10-25
Last Push
8.5K
Stars
Go
Language
322.3K
Lines of Code
1.4K
Files
984
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 14.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.2/100 · LOW

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

PR Review Velocity Impact 14.3/100 · LOW

Which changes need focused human review? 984 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 0MEDIUM 4LOW 980

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 984 distinct pattern matches across 7 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 Block973 hits · 963 pts
SeverityFileLineSnippetContext
LOWdoc.go1// Copyright ©2019 The Gonum Authors. All rights reserved.COMMENT
LOWunit/unittype.go21// Dimension is a type representing an SI base dimension or a distinctCOMMENT
LOWunit/doc.go1// Copyright ©2013 The Gonum Authors. All rights reserved.COMMENT
LOWunit/doc.go21//COMMENT
LOWunit/doc.go41// while the corresponding code using float64 runs without error.COMMENT
LOWunit/doc.go61//COMMENT
LOWunit/doc.go81// of the dimensional types should be used. From will return an error if theCOMMENT
LOWunit/doc.go101// const Slide unit.Volume = 0.1 * unit.Micro * unit.LitreCOMMENT
LOWunit/constant/doc.go1// Copyright ©2019 The Gonum Authors. All rights reserved.COMMENT
LOWmat/symband.go61// NewSymBandDense creates a new SymBand matrix with n rows and columns. If data == nil,COMMENT
LOWmat/cmatrix.go21 // It will panic if i or j are out of bounds for the matrix.COMMENT
LOWmat/cmatrix.go121}COMMENT
LOWmat/inner.go1// Copyright ©2014 The Gonum Authors. All rights reserved.COMMENT
LOWmat/vector.go841// Permute rearranges the elements of the n-vector v in the receiver asCOMMENT
LOWmat/symmetric_example_test.go41 // ⎢ 3 7 10 11 12⎥COMMENT
LOWmat/band.go101COMMENT
LOWmat/band.go121// from the rows outside the band and aligning the diagonals. For example, the matrixCOMMENT
LOWmat/gsvd_example_test.go41 q.Mul(&zR, &q)COMMENT
LOWmat/gsvd_example_test.go61 // .COMMENT
LOWmat/gsvd_example_test.go81 // ⎣-14262.7217 -10902.1488 15762.8719⎦COMMENT
LOWmat/matrix.go161// the view. Similarly, if the matrix shares backing data with another variable, usingCOMMENT
LOWmat/svd_test.go321 }, wm: 4, wn: 2,COMMENT
LOWmat/svd.go61// A = U * Σ * VᵀCOMMENT
LOWmat/svd.go281// minimize over n-element vectors x: |b - A*x|_2 and |x|_2COMMENT
LOWmat/svd.go361func (m repVector) T() Matrix { return Transpose{m} }COMMENT
LOWmat/eigen_example_test.go61 // ⎣ 1 1⎦COMMENT
LOWmat/cholesky_example_test.go101 fmt.Printf("\nU'ᵀ * U' = %0.4v\n", mat.Formatted(&au, mat.Prefix(" ")))COMMENT
LOWmat/cholesky.go41// particular finding solutions to linear equations. It is very inefficientCOMMENT
LOWmat/cholesky.go481 c.cond = orig.cond // Scaling by a positive constant does not change the condition number.COMMENT
LOWmat/cholesky.go501 panic(badSliceLength)COMMENT
LOWmat/cholesky.go541 }COMMENT
LOWmat/cholesky.go581 }COMMENT
LOWmat/cholesky.go601 //COMMENT
LOWmat/cholesky.go941COMMENT
LOWmat/io.go41// SymmetricBand 'S' 'B' ul false n n k kCOMMENT
LOWmat/io.go121 if err != nil {COMMENT
LOWmat/io.go181 for i := range m.mat.Data {COMMENT
LOWmat/io.go241 return n, errCOMMENT
LOWmat/dense.go641// A[i,0:n] is moved to A[p[i],0:n] for i=0,1,...,m-1.COMMENT
LOWmat/hogsvd_example_test.go41 // AfricaCOMMENT
LOWmat/hogsvd_example_test.go61 // ⎢-0.0008 -0.0081 -0.0009⎥COMMENT
LOWmat/hogsvd_example_test.go81 // ⎢-0.0003 -0.0130 0.0025⎥COMMENT
LOWmat/hogsvd_example_test.go101 // ⎢-0.1238 -0.0054 0.0313⎥COMMENT
LOWmat/hogsvd_example_test.go121 // ⎢-0.0178 -0.0208 -0.0075⎥COMMENT
LOWmat/triband.go161// NewTriBandDense creates a new triangular banded matrix with n rows and columns,COMMENT
LOWmat/triband.go181// 1 2 3COMMENT
LOWmat/triband.go261COMMENT
LOWmat/triband.go661 // dst is upper triangular, s is stored in lower triangle.COMMENT
LOWmat/product.go1// Copyright ©2015 The Gonum Authors. All rights reserved.COMMENT
LOWmat/lu.go21COMMENT
LOWmat/lu.go381COMMENT
LOWmat/lu.go421 t = blas.TransCOMMENT
LOWmat/doc.go1// Copyright ©2015 The Gonum Authors. All rights reserved.COMMENT
LOWmat/doc.go21// the FooDense types implemented in this package. We use "Matrix" toCOMMENT
LOWmat/doc.go41// Operations involving matrix data are implemented as functions when the valuesCOMMENT
LOWmat/doc.go61// An empty matrix is one that has zero size. Empty matrices are used to allowCOMMENT
LOWmat/doc.go81// returns the dimensions of the Matrix, At, which returns the element in theCOMMENT
LOWmat/doc.go101//COMMENT
LOWmat/doc.go121// *LU.RankOne.COMMENT
LOWmat/doc.go141// c.Mul(a, b)COMMENT
913 more matches not shown…
Decorative Section Separators3 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUM⚡spatial/curve/hilbert_test.go106 // ═══════════════╬════════════════╬════════════════╬═══════════════COMMENT
MEDIUM⚡spatial/curve/hilbert_test.go111 // ═══════════════╬════════════════╬════════════════╬═══════════════COMMENT
MEDIUM⚡spatial/curve/hilbert_test.go116 // ═══════════════╬════════════════╬════════════════╬═══════════════COMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWblas/testblas/dgemv.go623 // TODO: Add tests for dimension mismatchCOMMENT
LOWblas/testblas/dger.go190 // TODO: Add tests where a is longerCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMlapack/testlapack/dgetrs.go25 // number in this test to make it more robust to code changes in otherCOMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWlapack/gonum/dgghrd.go101 // Step 1: rotate rows jrow-1, jrow to kill A[jrow,jcol].COMMENT
LOWlapack/gonum/dgghrd.go113 // Step 2: rotate columns jrow, jrow-1 to kill B[jrow,jrow-1].COMMENT
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWlapack/gonum/dgghrd.go101 // Step 1: rotate rows jrow-1, jrow to kill A[jrow,jcol].COMMENT
LOWlapack/gonum/dgghrd.go113 // Step 2: rotate columns jrow, jrow-1 to kill B[jrow,jrow-1].COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWspatial/transform/umeyama.go35// Example usage:COMMENT