AI Slop Code Risk Monitor

rqlite/rqlite

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

The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort.

2.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for rqlite/rqlite, a Go project with 17,893 GitHub stars. SynthScan examined 136,330 lines of code across 398 source files, recording 144 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 2.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.

2.1
Adjusted Signal
2.1
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
17.9K
Stars
Go
Language
136.3K
Lines of Code
398
Files
144
Pattern Hits
2026-10-31
Scan Date
0.01
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 7.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 3.6/100 · LOW

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

PR Review Velocity Impact 9.5/100 · LOW

Which changes need focused human review? 144 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 3MEDIUM 57LOW 84

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 144 distinct pattern matches across 12 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.

Self-Referential Comments42 hits · 129 pts
SeverityFileLineSnippetContext
MEDIUMtools/get_gh_latest.py4 # Define the GitHub API URL for issues and pull requestsCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py27 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py44 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py54 # Create a second node, with auto-restore enabled.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py91 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py110 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py120 # Create a second node, with auto-restore enabled.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py174 # Create the auto-restore config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py218 # Create the auto-restore config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py263 # Create the auto-restore config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py277 # Create a new node, write some data to it.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py286 # Create a new node, using the directory from the previous node, but checkCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py319 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py336 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py382 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py400 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py441 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py457 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py507 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py524 # Create a cluster with automatic backups enabled.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py556 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py573 # Create a cluster with automatic backups enabled.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py608 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py625 # Create a cluster with automatic backups enabled.COMMENT
MEDIUMsystem_test/e2e/auto_state_s3.py634 # Create a cluster with two more followersCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py23 # Create a temporary directory for backupsCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py26 # Create the auto-backup config file with timestamp enabledCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py41 # Create a node, enable automatic backups, and start itCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py46 # Create a table and insert dataCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py98 # Create a temporary directory for backupsCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py102 # Create the auto-backup config file with timestamp disabledCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py117 # Create a node, enable automatic backups, and start itCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py122 # Create a table and insert dataCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py177 # Create a temporary directory for backupsCOMMENT
MEDIUM⚡system_test/e2e/auto_state_file.py180 # Create the auto-backup config file with compressionCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py195 # Create a node, enable automatic backups, and start itCOMMENT
MEDIUMsystem_test/e2e/auto_state_file.py200 # Create a table and insert dataCOMMENT
MEDIUMsystem_test/e2e/joining.py226 # Create a potential join target nodeCOMMENT
MEDIUMsystem_test/e2e/multi_node.py677 # Create a two-node cluster.COMMENT
MEDIUMsystem_test/e2e/auto_state_gcs.py26 # Create the auto-backup config fileCOMMENT
MEDIUMsystem_test/e2e/auto_state_gcs.py41 # Create a node, enable automatic backups, and start it. ThenCOMMENT
MEDIUMsystem_test/e2e/auto_state_gcs.py104 # Create the auto-restore config fileCOMMENT
Decorative Section Separators14 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMtools/package/build-packages.sh13# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/package/build-packages.sh15# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/package/build-packages.sh31# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/package/build-packages.sh35# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/package/build-packages.sh41# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/package/build-packages.sh43# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/package/build-packages.sh99# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/package/build-packages.sh101# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/package/build-packages.sh194# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/package/build-packages.sh196# ---------------------------------------------------------------------------COMMENT
MEDIUMsystem_test/e2e/gcs.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMsystem_test/e2e/gcs.py17# ---------------------------------------------------------------------------COMMENT
MEDIUMsystem_test/e2e/gcs.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMsystem_test/e2e/gcs.py30# ---------------------------------------------------------------------------COMMENT
Over-Commented Block39 hits · 39 pts
SeverityFileLineSnippetContext
LOWdoc.go1// The MIT License (MIT)COMMENT
LOWcmd/rqlited/gen.go1//go:generate flagforge -o config_flags.go flags.tomlCOMMENT
LOWtestdata/chinook/db.go1// The MIT License (MIT)COMMENT
LOWsnapshot/sink.go181// streaming sink, writes the snapshot metadata, and moves the temp snapshotCOMMENT
LOWsnapshot/store.go501// Close shuts down the reaper goroutine and waits for it to exit.COMMENT
LOWsnapshot/store.go521//COMMENT
LOWsnapshot/store.go941 if err := <-checker.Check(); err != nil {COMMENT
LOWsnapshot/observer.go21// ReapObservation events and an optional filter function. ObservationsCOMMENT
LOWsnapshot/snapshot.go61// directory name is the snapshot ID (typically derived from term, index, and aCOMMENT
LOWsnapshot/snapshot.go161}COMMENT
LOWsnapshot/snapshot.go461 if snapshot.id == id {COMMENT
LOWsnapshot/snapshot.go481COMMENT
LOWsnapshot/staging.go41 }COMMENT
LOWsnapshot/plan/plan.go281 err = fmt.Errorf("unknown operation type: %s", op.Type)COMMENT
LOWsnapshot/plan/executor.go61//COMMENT
LOWcluster/service.go381 // unauthorizedError is the error returned to a client whose credentialsCOMMENT
LOWcluster/bootstrap.go101 }COMMENT
LOWcdc/config.go81COMMENT
LOWcdc/service.go1// Package cdc implements Change Data Capture for rqlite. It captures row-levelCOMMENT
LOWcdc/service.go21// | Snapshotter |---->| | |COMMENT
LOWcdc/service.go41// | ^ ^COMMENT
LOWcdc/service.go61//COMMENT
LOWcdc/fifo.go21// ErrQueueClosed is returned when an operation is attempted on a closed queue.COMMENT
LOWqueue/queue.go121// Write queues a request, and returns a monotonically increasingCOMMENT
LOWdb/db.go1141// Dump writes a consistent snapshot of the database in SQL text format.COMMENT
LOWdb/db_test.go1381 t.Skip("skipping test on Appveyor")COMMENT
LOWdb/db_common_test.go2541// and creates an index on b. The dump must contain the original values and omitCOMMENT
LOWdb/checkpoint_bench_test.go1// Benchmark suite for CheckpointManager and alternative Checkpointer implementations.COMMENT
LOWdb/checkpoint_manager.go41COMMENT
LOWdb/testdata/carray.c61 void *iov_base;COMMENT
LOWdb/wal/compacting_section_scanner.go41COMMENT
LOWstore/store.go1741 // Update our strong read term.COMMENT
LOWstore/store.go2061// Database returns a copy of the underlying database. The caller MUSTCOMMENT
LOWstore/store.go2481}COMMENT
LOWstore/store.go2721 s.numFullSnapshots++COMMENT
LOWstore/store.go2761 s.numIncSnapshots.Add(1)COMMENT
LOWstore/store.go2881 // We're about to enter a point of no return. We're going to swap in the incomingCOMMENT
LOWstore/store_multi_test.go561}COMMENT
LOWstore/file_fingerprint.go61COMMENT
Hyper-Verbose Identifiers30 hits · 31 pts
SeverityFileLineSnippetContext
LOWtools/get_gh_latest.py3def get_latest_issue_pr_numbers(owner, repo):CODE
LOWsystem_test/e2e/cdc.py89 def test_multi_node_events_with_node_failure(self):CODE
LOWsystem_test/e2e/auto_state_s3.py600 def test_no_upload_leader_change(self):CODE
LOWsystem_test/e2e/cdc_test_server.py95class CDCHTTPRequestHandler(BaseHTTPRequestHandler):CODE
LOWsystem_test/e2e/cdc_test_server.py302 def get_highest_message_index(self) -> int:CODE
LOWsystem_test/e2e/single_node.py65 def test_simple_raw_queries_unicode(self):CODE
LOWsystem_test/e2e/single_node.py81 def test_simple_raw_queries_pretty(self):CODE
LOWsystem_test/e2e/single_node.py112 def test_simple_parameterized_queries(self):CODE
LOWsystem_test/e2e/single_node.py133 def test_simple_named_parameterized_queries(self):CODE
LOWsystem_test/e2e/single_node.py156 def test_simple_parameterized_mixed_queries(self):CODE
LOWsystem_test/e2e/single_node.py172 def test_simple_parameterized_mixed_queries_via_request(self):CODE
LOW⚡system_test/e2e/auto_state_file.py17 def test_backup_timestamp_true(self):CODE
LOW⚡system_test/e2e/auto_state_file.py92 def test_backup_timestamp_false(self):CODE
LOW⚡system_test/e2e/auto_state_file.py171 def test_backup_with_compression(self):CODE
LOWsystem_test/e2e/joining.py231 def test_single_node_join_fails(self):CODE
LOWsystem_test/e2e/multi_node.py61 def test_execute_fail_restart(self):CODE
LOWsystem_test/e2e/multi_node.py128 def test_remove_node_via_leader(self):CODE
LOWsystem_test/e2e/multi_node.py142 def test_remove_node_via_follower(self):CODE
LOWsystem_test/e2e/multi_node.py156 def test_demote_node_via_leader(self):CODE
LOWsystem_test/e2e/multi_node.py182 def test_demote_node_via_follower(self):CODE
LOWsystem_test/e2e/multi_node.py200 def test_promote_node_via_leader(self):CODE
LOWsystem_test/e2e/multi_node.py221 def test_promote_node_via_follower(self):CODE
LOWsystem_test/e2e/multi_node.py448 def test_execute_query_forward(self):CODE
LOWsystem_test/e2e/multi_node.py468 def test_execute_queued_forward(self):CODE
LOWsystem_test/e2e/multi_node.py496 def test_execute_queued_forward_wait(self):CODE
LOWsystem_test/e2e/multi_node.py645 def test_execute_fail_nonvoter(self):CODE
LOWsystem_test/e2e/multi_node.py842 def test_cluster_leader_remove_on_shutdown(self):CODE
LOWsystem_test/e2e/multi_node.py871 def test_cluster_follower_remove_on_shutdown(self):CODE
LOWsystem_test/e2e/helpers.py448 def wait_for_upload_skipped_id(self, i, timeout=TIMEOUT):CODE
LOWhttp/console/static/js/app.js175 function updateFreshnessVisibility() {CODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsystem_test/e2e/cdc_test_server.py263except:CODE
HIGHsystem_test/e2e/cdc_test_server.py267except:CODE
HIGHsystem_test/e2e/helpers.py363except (KeyError, requests.exceptions.ConnectionError):CODE
Unused Imports5 hits · 5 pts
SeverityFileLineSnippetContext
LOWsnapshot/testdata/db-and-wals/create-wals.py3CODE
LOWsystem_test/e2e/cdc.py9CODE
LOWsystem_test/e2e/auto_clustering.py12CODE
LOWsystem_test/e2e/auto_clustering.py12CODE
LOWsystem_test/e2e/gcs.py9CODE
Excessive Try-Catch Wrapping4 hits · 5 pts
SeverityFileLineSnippetContext
LOWsystem_test/e2e/gcs.py64 except Exception as exc:CODE
LOWsystem_test/e2e/cdc_test_server.py120 except Exception:CODE
LOWsystem_test/e2e/s3.py49 except Exception as e:CODE
MEDIUMsystem_test/e2e/s3.py50 print(f"Error uploading file '{file_path}' to '{bucket_name}': {e}")CODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsystem_test/e2e/helpers.py94CODE
LOWsystem_test/e2e/helpers.py187CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdb/testdata/text.go3const Lorum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ultricies turpis nisi, quis egestas enim sceCODE
LOWdb/testdata/text.go3const Lorum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ultricies turpis nisi, quis egestas enim sceCODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtools/get_gh_latest.py25# Example usageCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsystem_test/e2e/cdc_test_server.py103 # Check if we should simulate a failureCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsystem_test/e2e/cdc_test_server.py98CODE