AI Slop Code Risk Monitor

metallb/metallb

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

A network load-balancer implementation for Kubernetes using standard routing protocols

2.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for metallb/metallb, a Go project with 8,392 GitHub stars. SynthScan examined 173,043 lines of code across 913 source files, recording 184 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 2.0 (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.0
Adjusted Signal
2.0
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
8.4K
Stars
Go
Language
173.0K
Lines of Code
913
Files
184
Pattern Hits
2026-10-31
Scan Date
0.02
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.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 4.0/100 · LOW

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

Agent Over-Engineering Ratio 1.2/100 · LOW

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

PR Review Velocity Impact 9.1/100 · LOW

Which changes need focused human review? 184 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 9HIGH 7MEDIUM 15LOW 153

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 184 distinct pattern matches across 16 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 Block111 hits · 108 pts
SeverityFileLineSnippetContext
LOWdesign/preferred-node-l2.md61 // leader election. Nodes matching these selectors receive a higher scoreCOMMENT
LOWdesign/crd-configstate.md41$ kubectl get configurationstates -n metallb-system -l metallb.io/node-name=kind-workerCOMMENT
LOWfrr-tools/metrics/collector/bgp_test.go21 metallb_bgp_keepalives_received{peer="{{ .NeighborIP }}", vrf="{{ .NeighborVRF }}"} {{ .KeepalivesReceived }}COMMENT
LOWfrr-tools/metrics/collector/bfd_test.go21 metallb_bfd_control_packet_input{peer="{{ .Peer }}", vrf="{{ .NeighborVRF }}"} {{ .ControlPacketInput }}COMMENT
LOWconfig/frr/frr-cm.yaml1# FRR expects to have these files owned by frr:frr on startup.COMMENT
LOWconfig/frr/frr-cm.yaml61 pbrd_options=" -A 127.0.0.1"COMMENT
LOWconfig/prometheus-frr/rbac-proxy-patch.yaml1# Native TLS is now built into the controller, speaker, and frr-metrics binaries.COMMENT
LOWconfig/manifests/metallb-frr-k8s-prometheus.yaml3661 babeld_options=" -A 127.0.0.1"COMMENT
LOWconfig/manifests/metallb-frr-k8s.yaml3561 # ATTENTION:COMMENT
LOWconfig/manifests/metallb-frr-k8s.yaml3621 # Upon startup this is read by the control files and ulimitCOMMENT
LOWconfig/manifests/metallb-frr-prometheus.yaml2221 # /usr/share/doc/frr/examples/.COMMENT
LOWconfig/manifests/metallb-frr-prometheus.yaml2281 #COMMENT
LOWconfig/manifests/metallb-frr.yaml2161data:COMMENT
LOWconfig/manifests/metallb-frr.yaml2221 # configuration profileCOMMENT
LOWconfig/prometheus-native/rbac-proxy-patch.yaml1# Native TLS is now built into the controller and speaker binaries.COMMENT
LOWspeaker/layer2_controller.go1// Copyright 2017 Google Inc.COMMENT
LOWspeaker/main.go1// Copyright 2017 Google Inc.COMMENT
LOWspeaker/bgp_controller.go1// Copyright 2017 Google Inc.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml1# If an option value is said to be not set, you can achieve the same behaviorCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml21COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml41# BrandingCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml81# them with the same file name. In certain installations it was observed, thatCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml101COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml121# those auxiliary languages here. This will create a search index withCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml141# If the TOC button is hidden, also the keyboard shortcut is disabled.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml161# `${FilePath}` which will be replaced by the file path of your displayed page.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml181# If shown, a Home button will appear below the search bar and the main menu.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml201# Shows expander for submenus.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml221# Hide the language switcher.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml241COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml261# Changes the title separator used when concatenating the page title with theCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml281# breadcrumbs to you, so this is the option to turn off breadcrumbs on termCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml301# Wrap for code blocks.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml321# aborted.COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml341# LinksCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml361externalLinkTarget = "_blank"COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml381# Default: trueCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml401COMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml421# codefence is involved and the library is not loaded by default. In this caseCOMMENT
LOW…-theme-relearn/exampleSite/config/_default/params.toml441# OpenAPI will be loaded regardlessly. The option is still useful in case youCOMMENT
LOW…go-theme-relearn/exampleSite/config/_default/hugo.toml1# this is a required setting for this theme to appear on https://themes.gohugo.io/COMMENT
LOW…go-theme-relearn/exampleSite/config/_default/hugo.toml41 [markup.highlight]COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml1# If an option value is said to be not set, you can achieve the same behaviorCOMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml21# Default: not setCOMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml41disableToc = falseCOMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml61# parameter is given but you want to hide the button for the displayed page,COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml81COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml101# If set to true, a submenu in the sidebar will be displayed in a collapsibleCOMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml121# These options modify how your content is displayed.COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml141# default footer.COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml161COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml181COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml201# Specifies the remote location of the MathJax library. By default the shippedCOMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml221# If not set, the set value of your site's hugo.toml is used.COMMENT
LOW…/exampleSite/content/cont/frontmatter/frontmatter.toml241COMMENT
LOWwebsite/themes/hugo-theme-relearn/static/css/theme.css421#R-topbar a:active:empty,COMMENT
LOWwebsite/themes/hugo-theme-relearn/static/css/theme.css681#R-body div.box > .box-content > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)),COMMENT
LOWwebsite/themes/hugo-theme-relearn/static/css/theme.css1661h2 a,COMMENT
LOW…te/themes/hugo-theme-relearn/static/css/theme-neon.css261 #R-body h2,COMMENT
LOWwebsite/themes/hugo-theme-relearn/static/js/url.js1// https://github.com/inexorabletash/polyfill/blob/v0.1.25/url.jsCOMMENT
51 more matches not shown…
Hallucination Indicators9 hits · 105 pts
SeverityFileLineSnippetContext
CRITICAL…/hugo-theme-relearn/static/js/mathjax/tex-mml-chtml.js1!function(){"use strict";var t={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrCODE
CRITICAL…emes/hugo-theme-relearn/static/js/mathjax/tex-chtml.js1!function(){"use strict";var t={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrCODE
CRITICAL…emes/hugo-theme-relearn/static/js/mathjax/mml-chtml.js1!function(){"use strict";var t={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrCODE
CRITICAL…hugo-theme-relearn/static/js/mathjax/tex-chtml-full.js1!function(){"use strict";var t={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrCODE
CRITICAL…ugo-theme-relearn/static/js/mathjax/input/asciimath.js1!function(){var t={884:function(t,e,i){"use strict";var n,a=this&&this.__extends||(n=function(t,e){return(n=Object.setPrCODE
CRITICAL…s/hugo-theme-relearn/static/js/mathjax/output/chtml.js1!function(){"use strict";var t,e,r,o,n,i,a,s,l,h,c,u,p,d,f,m,y,v,b,x,g,M,_,w,C,j,S,O,T,L,B,P,H,A,k,N,E,D,W,R,I,F,J,V,z,UCODE
CRITICAL⚡…ugo-theme-relearn/static/js/mathjax/sre/sre_browser.js775sre.ClearspeakPreferences.Comparator=function(a,b){sre.DynamicCstr.DefaultComparator.call(this,a,b);this.preference=a.prCODE
CRITICAL⚡…ugo-theme-relearn/static/js/mathjax/sre/sre_browser.js776sre.ClearspeakPreferences.Comparator.prototype.compare=function(a,b){var c=sre.ClearspeakPreferences.Comparator.superClaCODE
CRITICAL⚡…ugo-theme-relearn/static/js/mathjax/sre/sre_browser.js778sre.ClearspeakPreferences.Parser.prototype.parse=function(a){var b=sre.ClearspeakPreferences.Parser.superClass_.parse.caCODE
Slop Phrases11 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMconfig/frr/frr-cm.yaml86 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
MEDIUMconfig/manifests/metallb-frr-k8s-prometheus.yaml3688 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
MEDIUMconfig/manifests/metallb-frr-k8s.yaml3633 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
MEDIUMconfig/manifests/metallb-frr-prometheus.yaml2295 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
MEDIUMconfig/manifests/metallb-frr.yaml2240 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
MEDIUM…-theme-relearn/exampleSite/config/_default/params.toml59# "blue", "green", "red". In addition you can use auto mode variants. See theCOMMENT
LOW⚡…-theme-relearn/exampleSite/config/_default/params.toml105# of Hugo and the theme in your HTML head. In tihs case also don't forget toCOMMENT
LOW⚡…-theme-relearn/exampleSite/config/_default/params.toml105# of Hugo and the theme in your HTML head. In tihs case also don't forget toCOMMENT
MEDIUM…go-theme-relearn/exampleSite/config/_default/hugo.toml47 # stylesheets which are linked in your generated HTML pages; you can use Hugo to generateCOMMENT
MEDIUM…go-theme-relearn/exampleSite/config/_default/hugo.toml75# showcase of the menu shortcuts; you can use relative URLs linkingCOMMENT
MEDIUMcharts/metallb/templates/speaker.yaml110 # or you can use "all_wrap" for all daemons, e.g. to use perf record:COMMENT
Fake / Example Data24 hits · 30 pts
SeverityFileLineSnippetContext
LOWwebsite/content/release-notes/_index.md122- Remove valid, but expired "placeholder" caBundle from the BGPPeers CRD conversion webhook configuration. (#2696, @dlipCODE
LOW⚡…eme-relearn/exampleSite/content/shortcodes/badge.en.md224Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. {{%/* badge style="blue" icon="rocket" %}}AwCODE
LOW⚡…eme-relearn/exampleSite/content/shortcodes/badge.en.md224Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. {{%/* badge style="blue" icon="rocket" %}}AwCODE
LOW⚡…eme-relearn/exampleSite/content/shortcodes/badge.en.md227Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. {{% badge style="blue" icon="rocket" %}}AwesCODE
LOW⚡…eme-relearn/exampleSite/content/shortcodes/badge.en.md227Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. {{% badge style="blue" icon="rocket" %}}AwesCODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md48Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md48Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md54Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md54Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md99Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md99Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md107Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW⚡…-theme-relearn/exampleSite/content/cont/markdown.en.md107Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.CODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md226- Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md226- Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md237- Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md237- Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md2561. Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md2561. Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md2671. Lorem ipsum dolor sit ametCODE
LOW…-theme-relearn/exampleSite/content/cont/markdown.en.md2671. Lorem ipsum dolor sit ametCODE
LOW…learn/exampleSite/content/cont/archetypes/_index.en.md32Lorem Ipsum.CODE
LOW…learn/exampleSite/content/cont/archetypes/_index.en.md56Lorem Ipsum.CODE
LOW…learn/exampleSite/content/cont/archetypes/_index.en.md86Lorem Ipsum.CODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtasks.py714except FileExistsError:CODE
HIGHtasks.py1128except UnexpectedExit:CODE
HIGHtasks.py281except:CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…us-operator-0alertmanagerCustomResourceDefinition.yaml0type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (liSTRING
HIGH…heus-operator-0prometheusCustomResourceDefinition.yaml0type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (liSTRING
HIGH…eus-operator-0thanosrulerCustomResourceDefinition.yaml0type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (liSTRING
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtasks.py711 # Create a new directory that will be used as the config volume for frr.COMMENT
MEDIUMconfig/prometheus-frr/rbac-proxy-patch.yaml3# This file is kept for kustomize compatibility but applies no changes.COMMENT
MEDIUMconfig/prometheus-native/rbac-proxy-patch.yaml3# This file is kept for kustomize compatibility but applies no changes.COMMENT
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtasks.py136def _get_subnets_allocated_ips():CODE
LOWtasks.py1369def remove_lb_exclusion_from_nodes(ctx):CODE
LOWwebsite/themes/hugo-theme-relearn/static/js/theme.js1045function closeSomeTopbarButtonFlyout(){CODE
LOWwebsite/themes/hugo-theme-relearn/static/js/theme.js1082function topbarFlyoutEscapeHandler( event ){CODE
LOWwebsite/themes/hugo-theme-relearn/static/js/theme.js1704 function adjustEmptyTopbarContents(){CODE
LOW…te/themes/hugo-theme-relearn/static/js/lunr/wordcut.js5137 function createPredicateIndexFinder(dir) {CODE
LOW…n/static/js/swagger-ui/swagger-ui-standalone-preset.js2!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fuCODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtasks.py1743 run("cd e2etest && go mod tidy", echo=True)CODE
Excessive Try-Catch Wrapping3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtasks.py387 except Exception as e:CODE
LOWtasks.py716 except Exception as e:CODE
MEDIUMtasks.py111def _is_network_exist(network):CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMinternal/k8s/k8s.go80 // +kubebuilder:scaffold:schemeCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMinternal/k8s/controllers/config_conversion.go29// We need to do this ballet because we need to leverage the GetName() functionCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡…-theme-relearn/exampleSite/config/_default/params.toml104# Set this to true if you want to disable generation for generator meta tagsCOMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtasks.py254CODE
LOWtasks.py1662CODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtasks.py447CODE
LOWtasks.py1220CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtasks.py16CODE
LOWtasks.py18CODE