AI Slop Code Risk Monitor

prometheus/prometheus

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

The Prometheus monitoring system and time series database.

2.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for prometheus/prometheus, a Go project with 66,871 GitHub stars. SynthScan examined 526,476 lines of code across 1569 source files, recording 1268 pattern matches distributed across 15 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-30
Last Push
66.9K
Stars
Go
Language
526.5K
Lines of Code
1.6K
Files
1.3K
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.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 0.2/100 · LOW

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

PR Review Velocity Impact 11.8/100 · LOW

Which changes need focused human review? 1268 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 2HIGH 1MEDIUM 14LOW 1251

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 1268 distinct pattern matches across 15 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 Block1199 hits · 1182 pts
SeverityFileLineSnippetContext
LOWcmd/prometheus/reload_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/warnings_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/main_upgrade_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/scrape_failure_log_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/warnings.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/upload_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/query_log_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/features_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/main_unix_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/main.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/prometheus/main_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/rules_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/query.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/backfill_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/unittest.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/metrics.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/analyze_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/metrics_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/rules.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/unittest_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/sd_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/tsdb_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/archive.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/debug.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/backfill.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/tsdb_posix_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/analyze.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/tsdb.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/sd.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/main.go1// Copyright The Prometheus AuthorsCOMMENT
LOWcmd/promtool/main_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWtracing/tracing_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWtracing/tracing.go1// Copyright The Prometheus AuthorsCOMMENT
LOWdocumentation/examples/prometheus-marathon.yml21 # in their app definitions. Example using a port mapping (container or bridge networking):COMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml1# A scrape configuration for running Prometheus on a Kubernetes cluster.COMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml61 action: keepCOMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml101 # retrieve those metrics.COMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml121COMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml161 # regex: trueCOMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml261COMMENT
LOWdocumentation/examples/prometheus-kubernetes.yml281 # - source_labels: [__meta_kubernetes_pod_annotation_example_io_metric_path]COMMENT
LOWdocumentation/examples/prometheus-dockerswarm.yml21 - source_labels: [__meta_dockerswarm_node_address]COMMENT
LOWdocumentation/examples/prometheus-eureka.yml21 # eureka:COMMENT
LOWdocumentation/examples/prometheus-eureka.yml41 # Example relabel to customize metric path based on applicationCOMMENT
LOWdocumentation/examples/prometheus-eureka.yml61 #COMMENT
LOWdocumentation/examples/prometheus-nomad.yml1# An example scrape configuration for running Prometheus withCOMMENT
LOW…cumentation/examples/custom-sd/adapter/adapter_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOWdocumentation/examples/custom-sd/adapter/adapter.go1// Copyright The Prometheus AuthorsCOMMENT
LOWdocumentation/examples/custom-sd/adapter-usage/main.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…xamples/remote_storage/example_write_adapter/server.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…examples/remote_storage/remote_storage_adapter/main.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…mote_storage/remote_storage_adapter/influxdb/client.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…storage/remote_storage_adapter/influxdb/client_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…orage/remote_storage_adapter/opentsdb/tagvalue_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…mote_storage/remote_storage_adapter/opentsdb/client.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…te_storage/remote_storage_adapter/opentsdb/tagvalue.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…te_storage/remote_storage_adapter/opentsdb/tagvalue.go21)COMMENT
LOW…te_storage/remote_storage_adapter/opentsdb/tagvalue.go41// - If ':' is encountered, it is replaced by '_.'.COMMENT
LOW…storage/remote_storage_adapter/opentsdb/client_test.go1// Copyright The Prometheus AuthorsCOMMENT
LOW…mote_storage/remote_storage_adapter/graphite/escape.go1// Copyright The Prometheus AuthorsCOMMENT
1139 more matches not shown…
Structural Annotation Overuse13 hits · 21 pts
SeverityFileLineSnippetContext
LOWcmd/prometheus/scrape_failure_log_test.go56 // Step 1: Set up an initial Prometheus configuration that globallyCOMMENT
LOWcmd/prometheus/scrape_failure_log_test.go99 // Step 2: Update the Prometheus configuration to remove the scrape failureCOMMENT
LOWcmd/prometheus/scrape_failure_log_test.go133 // Step 3: Re-add the scrape failure log file setting, but this time underCOMMENT
LOW⚡tsdb/head_append_v2_test.go4928 // Step 1: Establish a series with histogram dataCOMMENT
LOW⚡tsdb/head_append_v2_test.go4934 // Step 2: Add a float staleness marker with a start timestamp. It isCOMMENT
LOWtsdb/head_test.go5477 // Step 1: Create a batch of series and make them stale.COMMENT
LOWtsdb/head_test.go5489 // Step 2: Truncate stale series. This removes them from the Head andCOMMENT
LOWtsdb/head_test.go5501 // Step 3: Add new series AFTER the truncation. In the WAL, these seriesCOMMENT
LOWtsdb/head_test.go5514 // Step 4: Close and re-open the Head to trigger WAL replay.COMMENT
LOWtsdb/chunks/head_chunks.go835// NOTE: This method needs to be called at least once after creating ChunkDiskMapperCOMMENT
LOWconfig/config.go397// NOTE: This method should not be used outside of this package. Use Load or LoadFile instead.COMMENT
LOWdocs/configuration/configuration.md294 # WARNING: The "NoTranslation" setting has significant known risks and limitations (see https://prometheus.io/docs/pCOMMENT
LOWpromql/parser/lex.go796// NOTE: This function as well as the helper function digitVal() and associatedCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALtsdb/ooo_head_read.go539 ir.ch.head.metrics.seriesNotFound.Inc()CODE
CRITICALtsdb/ooo_head_read.go552 getOOOSeriesChunks(s, ir.ch.head.opts.UseXOR2FloatEncoding(), ir.ch.head.opts.EnableHistogramSTEncoding.Load(), ir.ch.mCODE
AI Slop Vocabulary6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMprompb/io/prometheus/client/decoder.go33 // We leverage the fact those two don't collide.COMMENT
MEDIUMtsdb/head_test.go5725 // than waiting a fixed amount of time: faster in the common case, and robustCOMMENT
MEDIUMtsdb/fileutil/direct_io_force.go14// This allows seamless testing of the Direct I/O writer across all tsdb tests.COMMENT
MEDIUMweb/api/v1/search_test.go1479 // No line should decode as a success trailer. This is robust to aCOMMENT
MEDIUMscrape/st_synthesis.go47// to leverage native DetectReset and Sub methods.COMMENT
MEDIUMpromql/functions.go756 // extrapolationThreshold below. Essentially, we are assuming a more orCOMMENT
Verbosity Indicators9 hits · 15 pts
SeverityFileLineSnippetContext
LOWcmd/prometheus/scrape_failure_log_test.go56 // Step 1: Set up an initial Prometheus configuration that globallyCOMMENT
LOWcmd/prometheus/scrape_failure_log_test.go99 // Step 2: Update the Prometheus configuration to remove the scrape failureCOMMENT
LOWcmd/prometheus/scrape_failure_log_test.go133 // Step 3: Re-add the scrape failure log file setting, but this time underCOMMENT
LOW⚡tsdb/head_append_v2_test.go4928 // Step 1: Establish a series with histogram dataCOMMENT
LOW⚡tsdb/head_append_v2_test.go4934 // Step 2: Add a float staleness marker with a start timestamp. It isCOMMENT
LOWtsdb/head_test.go5477 // Step 1: Create a batch of series and make them stale.COMMENT
LOWtsdb/head_test.go5489 // Step 2: Truncate stale series. This removes them from the Head andCOMMENT
LOWtsdb/head_test.go5501 // Step 3: Add new series AFTER the truncation. In the WAL, these seriesCOMMENT
LOWtsdb/head_test.go5514 // Step 4: Close and re-open the Head to trigger WAL replay.COMMENT
Self-Referential Comments5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMdocumentation/examples/prometheus-dockerswarm.yml10 # Create a job for Docker daemons.COMMENT
MEDIUMdocumentation/examples/prometheus-dockerswarm.yml25 # Create a job for Docker Swarm containers.COMMENT
MEDIUMdocumentation/examples/prometheus-docker.yml9 # Create a job for Docker daemon.COMMENT
MEDIUMdocumentation/examples/prometheus-docker.yml18 # Create a job for Docker Swarm containers.COMMENT
MEDIUMscripts/dependabot.yml2# This file is synced from https://github.com/prometheus/prometheusCOMMENT
Hyper-Verbose Identifiers11 hits · 11 pts
SeverityFileLineSnippetContext
LOWweb/ui/react-app/src/pages/graph/HistogramHelpers.ts5export function calculateDefaultExpBucketWidth(CODE
LOW…/ui/mantine-ui/src/pages/AlertmanagerDiscoveryPage.tsx12export default function AlertmanagerDiscoveryPage() {CODE
LOWweb/ui/mantine-ui/src/pages/query/HistogramHelpers.ts3export function calculateDefaultExpBucketWidth(CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts154function getMetricNameInVectorSelector(tree: SyntaxNode, state: EditorState): string {CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts191function isAfterClosedFunctionCallBody(state: EditorState, node: SyntaxNode, pos: number): boolean {CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts218export function computeEndCompletePosition(state: EditorState, node: SyntaxNode, pos: number): number {CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts263function isDurationFunctionFragment(state: EditorState, node: SyntaxNode): boolean {CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts272function computeStartCompleteLabelPositionInLabelMatcherOrInGroupingLabel(node: SyntaxNode, pos: number): number {CODE
LOWweb/ui/module/codemirror-promql/src/complete/hybrid.ts290export function computeStartCompletePosition(state: EditorState, node: SyntaxNode, pos: number): number {CODE
LOW…kills/pr-triage-board/scripts/generate_triage_board.py230def build_repo_ownership_model(owner, repo):CODE
LOW…kills/pr-triage-board/scripts/generate_triage_board.py411def has_author_ci_explanation(author_comments_after_commit):CODE
Slop Phrases5 hits · 10 pts
SeverityFileLineSnippetContext
LOWcmd/prometheus/main.go1324 // Don't forget to release the reloadReady channel so that waiting blocks can exit normally.COMMENT
MEDIUMdocumentation/examples/prometheus-eureka.yml19 # If you are using SpringBoot, you can add metadata using eureka.instance.metadataMap like this:COMMENT
LOW.github/ISSUE_TEMPLATE/bug_report.yml52 description: Insert relevant configuration here. Don't forget to remove secrets.CODE
LOW.github/ISSUE_TEMPLATE/bug_report.yml68 description: Insert relevant configuration here. Don't forget to remove secrets.CODE
MEDIUMmodel/textparse/benchmark_test.go44// For local iteration, feel free to adjust cases/comment out code etc.COMMENT
Fake / Example Data8 hits · 8 pts
SeverityFileLineSnippetContext
LOWutil/annotations/annotations_test.go47 warnings, infos := annos.AsStrings("lorem ipsum dolor sit amet", 0, 0)CODE
LOWutil/annotations/annotations_test.go47 warnings, infos := annos.AsStrings("lorem ipsum dolor sit amet", 0, 0)CODE
LOWweb/ui/mantine-ui/src/promql/ast.ts12 placeholder = "placeholder",CODE
LOWdiscovery/oci/oci_test.go204 "CreatedBy": "user@example.com",CODE
LOWdiscovery/oci/oci_test.go217 require.Equal(t, model.LabelValue("user@example.com"), labels[ociLabelDefinedTagPrefix+"Oracle_Tags_CreatedBy"])CODE
LOWdiscovery/consul/consul_test.go272 Token: "fake-token",CODE
LOWdiscovery/consul/consul_test.go367 config.Token = "fake-token"CODE
LOWdiscovery/consul/consul_test.go588 Token: "fake-token",CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…kills/pr-triage-board/scripts/generate_triage_board.py141except Exception:CODE
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…kills/pr-triage-board/scripts/generate_triage_board.py146CODE
LOW…kills/pr-triage-board/scripts/generate_triage_board.py196CODE
LOW…kills/pr-triage-board/scripts/generate_triage_board.py273CODE
LOW…kills/pr-triage-board/scripts/generate_triage_board.py418CODE
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…kills/pr-triage-board/scripts/generate_triage_board.py141 except Exception:STRING
MEDIUM…kills/pr-triage-board/scripts/generate_triage_board.py912 print("Error: 0 PRs fetched from GitHub GraphQL API; aborting to avoid overwriting with empty board.", file=sys.CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWweb/api/v1/openapi_test.go185// TODO: Add test to verify all routes from api.go Register() are covered in OpenAPI spec.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWweb/api/testhelpers/request.go30// Example usage:COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/sync_repo_files.sh348 # Check if a PR is already opened for the branch from the prombot fork.COMMENT