AI Slop Code Risk Monitor

valkey-io/valkey

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

A flexible distributed key-value database that is optimized for caching and other realtime workloads.

1.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for valkey-io/valkey, a C project with 27,568 GitHub stars. SynthScan examined 474,409 lines of code across 1623 source files, recording 518 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 1.2 (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.

1.2
Adjusted Signal
1.2
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
27.6K
Stars
C
Language
474.4K
Lines of Code
1.6K
Files
518
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 5.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 0.8/100 · LOW

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

PR Review Velocity Impact 5.9/100 · LOW

Which changes need focused human review? 518 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 8MEDIUM 11LOW 499

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 518 distinct pattern matches across 14 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 Block430 hits · 418 pts
SeverityFileLineSnippetContext
LOWtests/rdma/rdma-test.c21#include <errno.h>COMMENT
LOWtests/modules/blockedclient.c1/* define macros for having usleep */COMMENT
LOWutils/gen-test-certs.sh1#!/bin/bashCOMMENT
LOWutils/install_server.sh1#!/bin/shCOMMENT
LOWutils/install_server.sh21# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFCOMMENT
LOWutils/install_server.sh41#COMMENT
LOWutils/install_server.sh201"#!/bin/sh\nCOMMENT
LOWutils/install_server.sh221# Should-Stop: \$syslog \$named\nCOMMENT
LOWutils/install_server.sh241cat > ${TMP_FILE} <<EOTCOMMENT
LOWutils/hyperloglog/hll-gnuplot-graph.rb1# hll-err.rb - Copyright (C) 2014 Redis Ltd.COMMENT
LOWdeps/fast_float/ffc.h1// fast_float by Daniel Lemire (Original)COMMENT
LOWdeps/fast_float/ffc.h21// Licensed under the Apache License, Version 2.0, or theCOMMENT
LOWdeps/fast_float/ffc.h41// The above copyright notice and this permission noticeCOMMENT
LOWdeps/fast_float/ffc.h61//COMMENT
LOWdeps/fast_float/ffc.h81// the above license grant, this restriction and the following disclaimer,COMMENT
LOWdeps/fast_float/ffc.h261COMMENT
LOWdeps/fast_float/ffc.h381 defined(__MINGW64__) || defined(__s390x__) || \COMMENT
LOWdeps/fast_float/ffc.h401#define FFC_64BIT 1COMMENT
LOWdeps/fast_float/ffc.h421#define FFC_IS_BIG_ENDIAN 0COMMENT
LOWdeps/fast_float/ffc.h441#COMMENT
LOWdeps/fast_float/ffc.h461#if defined(__aarch64__) || defined(_M_ARM64)COMMENT
LOWdeps/fast_float/ffc.h481#define FFC_SIMD_DISABLE_WARNINGS \COMMENT
LOWdeps/fast_float/ffc.h581#define FFC_DOUBLE_INFINITE_POWER 0x7FFCOMMENT
LOWdeps/fast_float/ffc.h601#define FFC_FLOAT_MAX_EXPONENT_FAST_PATH 10COMMENT
LOWdeps/fast_float/ffc.h781 return false;COMMENT
LOWdeps/fast_float/ffc.h801//COMMENT
LOWdeps/fast_float/ffc.h821#elif defined(__clang__)COMMENT
LOWdeps/fast_float/ffc.h1561#endif // FFC_PARSE_HCOMMENT
LOWdeps/fast_float/ffc.h1601// number of bits in a bigint. this needs to be at least the numberCOMMENT
LOWdeps/fast_float/ffc.h2701// parse the significant digits as a big integer to unambiguously roundCOMMENT
LOWdeps/fast_float/ffc.h2741 // The required precision is mantissa_explicit_bits + 3 becauseCOMMENT
LOWdeps/fast_float/ffc.h2861 // whereas 0x40000000000000 x 2^-1023-53 is normal. Now, we need to roundCOMMENT
LOWdeps/fast_float/ffc.h2941 // we want round-to-nearest in all cases, irrespective of the rounding modeCOMMENT
LOWdeps/fast_float/ffc.h3201#undef FFC_DOUBLE_MINIMUM_EXPONENT COMMENT
LOWdeps/fast_float/ffc.h3221#undef FFC_FLOAT_EXPONENT_MASK COMMENT
LOWdeps/libvalkey/include/valkey/valkey.h41#include <sys/time.h> /* for struct timeval */COMMENT
LOWdeps/libvalkey/include/valkey/visibility.h41#elseCOMMENT
LOWdeps/libvalkey/include/valkey/sockcompat.h41#include <sys/select.h>COMMENT
LOWdeps/libvalkey/include/valkey/sockcompat.h81int win32_valkeyKeepAlive(SOCKET sockfd, int interval_ms);COMMENT
LOWdeps/libvalkey/include/valkey/read.h41/* When an error occurs, the err flag in a context is set to hold the type ofCOMMENT
LOWdeps/libvalkey/tests/client_test.c1#include "fmacros.h"COMMENT
LOWdeps/libvalkey/tests/client_test.c21COMMENT
LOWdeps/libvalkey/tests/ct_connection.c1#include "adapters/libevent.h"COMMENT
LOW…y/tests/scripts/connect-during-cluster-startup-test.sh1#!/bin/shCOMMENT
LOWdeps/libvalkey/tests/scripts/moved-redirect-test.sh1#!/bin/bashCOMMENT
LOW…ect-during-cluster-startup-using-cluster-nodes-test.sh1#!/bin/shCOMMENT
LOW…ripts/client-disconnect-without-slotmap-update-test.sh1#!/bin/bashCOMMENT
LOW…libvalkey/tests/scripts/redirect-with-hostname-test.sh1#!/bin/shCOMMENT
LOW…ests/scripts/connect-error-using-cluster-nodes-test.sh1#!/bin/shCOMMENT
LOW…/libvalkey/tests/scripts/command-from-callback-test.sh1#!/bin/bashCOMMENT
LOW…ey/tests/scripts/ask-redirect-connection-error-test.sh1#!/bin/bashCOMMENT
LOWdeps/libvalkey/tests/scripts/timeout-handling-test.sh1#!/bin/bashCOMMENT
LOW…s/scripts/dbsize-to-all-nodes-during-scaledown-test.sh1#!/bin/bashCOMMENT
LOWdeps/libvalkey/tests/scripts/cluster-scale-down-test.sh1#!/bin/bashCOMMENT
LOW…pts/dbsize-to-all-nodes-during-scaledown-test-async.sh1#!/bin/bashCOMMENT
LOWdeps/libvalkey/scripts/gencommands.py1#!/usr/bin/env python3COMMENT
LOWdeps/libvalkey/scripts/gencommands.py21#COMMENT
LOWdeps/libvalkey/scripts/gencommands.py41 for arg in arguments:COMMENT
LOWdeps/libvalkey/src/async.c41#include <strings.h>COMMENT
LOWdeps/libvalkey/src/rdma.c41#include <arpa/inet.h>COMMENT
370 more matches not shown…
Hyper-Verbose Identifiers32 hits · 40 pts
SeverityFileLineSnippetContext
LOWutils/generate-commands-json.py10def convert_flags_to_boolean_dict(flags):CODE
LOWutils/generate-commands-json.py35def convert_entry_to_objects_array(cmd, docs):CODE
LOWutils/generate-command-code.py53def check_command_args_key_specs(args, command_key_specs_index_set, command_arg_key_specs_index_set):CODE
LOWdeps/libvalkey/scripts/gencommands.py145def collect_command_from_cmddef_h(f, commands):CODE
LOWdeps/libvalkey/scripts/gencommands.py163def collect_commands_from_files(filenames):CODE
LOWdeps/jemalloc/scripts/gen_travis.py210def generate_unusual_combinations(unusuals, max_unusual_opts):STRING
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py129 def test_passing_task_succeeds(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py139 def test_failing_task_fails_even_with_retries(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py144 def test_executing_passing_and_failing_fails(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py155 def test_task_succeeds_with_one_retry(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py162 def test_task_fails_with_one_retry(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py169 def test_runner_succeeds_when_all_tasks_eventually_succeeds(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py254 def test_running_parallel_test_cases_without_repeats(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py262 def test_running_parallel_test_cases_with_repeats(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py270 def test_running_parallel_tests(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py280 def test_race_in_test_times_load_save(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py576 def test_does_not_run_disabled_tests_by_default(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py584 def test_runs_disabled_tests_when_asked(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py593 def test_runs_failed_tests_by_default(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py600 def test_runs_only_failed_tests_when_asked(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py608 def test_does_not_apply_gtest_filter_by_default(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py615 def test_applies_gtest_filter(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py620 def test_applies_gtest_color_by_default(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py630 def test_repeats_tasks_once_by_default(self):CODE
LOW⚡deps/gtest-parallel/gtest_parallel_tests.py634 def test_repeats_tasks_multiple_times(self):CODE
LOWdeps/gtest-parallel/gtest_parallel_tests.py187 def test_get_save_file_path_unix(self):CODE
LOWdeps/gtest-parallel/gtest_parallel_tests.py376 def test_logs_to_temporary_files_without_output_dir(self):CODE
LOWdeps/gtest-parallel/gtest_parallel_tests.py415 def test_run_interrupted_task_with_transient_log(self):CODE
LOWdeps/gtest-parallel/gtest_parallel_tests.py645 def test_gtest_list_tests_fails(self):CODE
LOWdeps/gtest-parallel/gtest_parallel.py279 def __get_next_execution_number(self, test_id):CODE
LOWsrc/server.c1218 * the function clientsCronTrackExpensiveClients(). */COMMENT
LOWsrc/unit/wrapper_util.py54def find_wrapper_functions_in_header(header_file_name):CODE
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtests/rdma/rdma_env.py26 cmd = "modprobe rdma_cm && modprobe udp_tunnel && modprobe ip6_udp_tunnel && modprobe ib_uverbs"CODE
HIGHdeps/jemalloc/scripts/gen_run_tests.py111 \$@ >> run_test.log 2>&1 || abortCODE
HIGHdeps/jemalloc/scripts/gen_run_tests.py119%(config_line)s >> run_test.log 2>&1 || abortCODE
HIGHdeps/jemalloc/scripts/gen_travis.py44 scripts/gen_travis.py > travis_script && diff .travis.yml travis_scriptCODE
Empty Error Handlers4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHdeps/jemalloc/scripts/gen_run_tests.py34except:CODE
HIGHdeps/gtest-parallel/gtest_parallel.py620except IOError:CODE
HIGHdeps/gtest-parallel/gtest_parallel.py76except OSError:CODE
HIGHdeps/gtest-parallel/gtest_parallel.py391except ValueError:CODE
Excessive Try-Catch Wrapping10 hits · 17 pts
SeverityFileLineSnippetContext
LOWutils/req-res-log-validator.py211 except Exception as err:CODE
LOWutils/req-res-log-validator.py257 except Exception as e:CODE
MEDIUMutils/generate-command-code.py659 print("Error processing %s: %s" % (filename, err))CODE
MEDIUMutils/generate-command-code.py688 print("Error: There are errors in the commands check, please check the above logs.")CODE
MEDIUMdeps/libvalkey/scripts/gencommands.py160 print("Error processing line: %s" % (line))CODE
MEDIUMdeps/libvalkey/scripts/gencommands.py191 print("Error processing %s: %s" % (filename, err))CODE
LOWdeps/gtest-parallel/gtest_parallel.py628 except Exception:CODE
MEDIUMdeps/gtest-parallel/gtest_parallel.py624def __read_test_times_file(fd):CODE
MEDIUMsrc/unit/generate-redefine-syms.py39 print(f"Error: File '{args.object_file}' does not exist.", file=sys.stderr)CODE
MEDIUMsrc/unit/generate-redefine-syms.py48 print(f"Error running {args.nm} on '{args.object_file}': {e}", file=sys.stderr)CODE
Deep Nesting14 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/rdma/run.py60CODE
LOWutils/req-res-log-validator.py186CODE
LOWutils/req-res-log-validator.py116CODE
LOWutils/generate-command-code.py337CODE
LOWutils/generate-command-code.py358CODE
LOWutils/generate-command-code.py359CODE
LOWdeps/libvalkey/scripts/gencommands.py58CODE
LOWdeps/libvalkey/scripts/gencommands.py163CODE
LOWdeps/gtest-parallel/gtest_parallel.py636CODE
LOWdeps/gtest-parallel/gtest_parallel.py701CODE
LOWdeps/gtest-parallel/gtest_parallel.py380CODE
LOWdeps/gtest-parallel/gtest_parallel.py710CODE
LOWsrc/unit/wrapper_util.py19CODE
LOWsrc/unit/wrapper_util.py54CODE
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMutils/gen-test-certs.sh132# Create a CA bundle and hashed CA directory used by TLS tests.COMMENT
MEDIUM.github/workflows/provenance-refresh.yml38 # Create the DB branch on first run, otherwise reuse it.COMMENT
MEDIUMdeps/libvalkey/scripts/gencommands.py4# This file is released under the BSD license, see the COPYING fileCOMMENT
Verbosity Indicators6 hits · 9 pts
SeverityFileLineSnippetContext
LOWsrc/t_stream.c3388 /* We need to check if the minimum idle time requestedCOMMENT
LOWsrc/networking.c6820 /* We need to check if the soft limit is reached continuously for theCOMMENT
LOWsrc/server.c3419/* The purpose of this function is to try to "glue" consecutive rangeCOMMENT
LOWsrc/acl.c3301 /* If there are some subscribers, we need to check if we need to drop some clients. */COMMENT
LOWsrc/modules/hellotype.c185 * called when the key we blocked for is ready: we need to check if weCOMMENT
LOWsrc/modules/lua/script_lua.c379 /* We need to check if it is an array, an error, or a status reply.COMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWutils/generate-command-code.py94 # Check if we have key_specs not usedCOMMENT
LOWutils/lru/test-lru.rb115 # Check if evicted keys respect LRUCOMMENT
LOWsrc/module.c3799 * #### Return valueCOMMENT
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMutils/redis-copy.rb7# for the more-robust redis-copy gem.COMMENT
LOWdeps/gtest-parallel/gtest_parallel.py52# Before a SIGINT is seen, wait(p) will simply call p.wait() andCOMMENT
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippetContext
LOWdeps/jemalloc/src/prof_recent.c85 * "placeholder"; the real recording of the allocation requires a lockCOMMENT
LOWsrc/rdb.c1956 return createStringObject("module-dummy-value", 18);CODE
LOWsrc/unit/test_crc64.cpp31 unsigned char li[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed "CODE
LOWsrc/unit/test_crc64.cpp31 unsigned char li[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed "CODE
Slop Phrases3 hits · 4 pts
SeverityFileLineSnippetContext
LOWutils/redis-sha1.rb8# If you hack this code make sure to sort keys and set elements as this areCOMMENT
LOWsrc/commands.h63/* Command flags. Please don't forget to add command flag documentation in structCOMMENT
LOWsrc/lolwut9.c81 output_array = sdscatprintf(output_array, "Don't forget to have fun! %s ver. ", server.extended_redis_compat ? "RediCODE
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdeps/gtest-parallel/gtest_parallel_mocks.py99 def run_task(self, task, timeout_per_test):CODE
LOWdeps/gtest-parallel/gtest_parallel.py307 def run_task(self, task, timeout_per_test):CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdeps/jemalloc/scripts/gen_travis.py4CODE