AI Slop Code Risk Monitor

hydra-db/hydradb

SlopCodeMonitor badge for hydra-db/hydradb Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).
3.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for hydra-db/hydradb. SynthScan examined 138,004 lines of code across 235 source files, recording 428 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.2
Adjusted Signal
3.2
Raw Pattern Score
100%
Time Factor
—
Last Push
—
Stars
—
Language
138.0K
Lines of Code
235
Files
428
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 13.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 0.5/100 · LOW

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

PR Review Velocity Impact 15.1/100 · LOW

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

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 428 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 Block408 hits · 402 pts
SeverityFileLineSnippetContext
LOWCargo.toml41chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }COMMENT
LOWbuild.rs1//! Build script for `hydradb`.COMMENT
LOWcrates/cypher-parser-antlr/src/lib.rs1//! A pure-Rust ANTLR Cypher 25 frontend generated from Neo4j's current grammar.COMMENT
LOWcrates/cypher-ast/src/failure.rs1/// Why a query could not run, at the granularity a metric label can carry.COMMENT
LOWcrates/cypher-ast/src/failure.rs21 /// `WHERE` predicates and the operators inside them.COMMENT
LOWcrates/telemetry/Cargo.toml1[package]COMMENT
LOWcrates/telemetry/build.rs1//! Build script for `hydradb-telemetry`.COMMENT
LOWcrates/telemetry/build.rs21//! would quietly stamp `unknown` into precisely the builds that matter. GettingCOMMENT
LOWcrates/telemetry/examples/smoke.rs1//! Prints a few lines through a real, globally installed subscriber.COMMENT
LOWcrates/telemetry/src/bridge.rs1//! Turning the active span into a W3C `traceparent`, and back.COMMENT
LOWcrates/telemetry/src/bridge.rs61///COMMENT
LOWcrates/telemetry/src/bridge.rs81/// The obvious implementation is [`current_traceparent`]'s — takeCOMMENT
LOWcrates/telemetry/src/bridge.rs121/// Make `span` a child of the remote trace named by `traceparent`.COMMENT
LOWcrates/telemetry/src/config.rs1//! Service identity and the environment-driven configuration.COMMENT
LOWcrates/telemetry/src/config.rs81/// which is what makes the resolution rules below testable without anCOMMENT
LOWcrates/telemetry/src/config.rs101 /// stdout JSON lines are collected by the Vector DaemonSet, which parsesCOMMENT
LOWcrates/telemetry/src/config.rs121 /// the bare `CARGO_PKG_VERSION`. That single substitution is what puts theCOMMENT
LOWcrates/telemetry/src/lib.rs1//! Telemetry for the HydraDB binaries: one subscriber, two serviceCOMMENT
LOWcrates/telemetry/src/lib.rs21//!COMMENT
LOWcrates/telemetry/src/lib.rs41//! | [`semconv`] | the attribute registry, and which keys may be metric labels |COMMENT
LOWcrates/telemetry/src/lib.rs61//! conflict with concurrent edits to the root manifest. Three steps, all in theCOMMENT
LOWcrates/telemetry/src/lib.rs101pub use propagate::{TraceContext, TraceContextError};COMMENT
LOWcrates/telemetry/src/lib.rs121 /// The directives as given.COMMENT
LOWcrates/telemetry/src/lib.rs141 #[cfg(feature = "otlp")]COMMENT
LOWcrates/telemetry/src/lib.rs161 /// accessor rather than a call to `opentelemetry::global::set_meter_provider`COMMENT
LOWcrates/telemetry/src/lib.rs181 /// providers through the installed subscriber, so nothing has to name them.COMMENT
LOWcrates/telemetry/src/meter.rs1//! The meter side of the pipeline: observable instruments fed from cachedCOMMENT
LOWcrates/telemetry/src/meter.rs21//! histograms it has only the **synchronous** `f64_histogram` andCOMMENT
LOWcrates/telemetry/src/meter.rs41//!COMMENT
LOWcrates/telemetry/src/meter.rs81///COMMENT
LOWcrates/telemetry/src/meter.rs141 /// One-line description, exported as the instrument description.COMMENT
LOWcrates/telemetry/src/meter.rs181 name: &'static str,COMMENT
LOWcrates/telemetry/src/meter.rs221COMMENT
LOWcrates/telemetry/src/meter.rs241/// Deliberately its own type rather than a share of [`HistogramError`]: a counterCOMMENT
LOWcrates/telemetry/src/meter.rs261 /// it is not part of, and after a collector's Prometheus conversion it wouldCOMMENT
LOWcrates/telemetry/src/meter.rs281///COMMENT
LOWcrates/telemetry/src/meter.rs301pub struct ObservableCounter {COMMENT
LOWcrates/telemetry/src/meter.rs441/// `SdkMeterProvider` and a collector to find out whether the buckets areCOMMENT
LOWcrates/telemetry/src/meter.rs461/// and produce a spurious `rate()` spike — but it does mean a shard that closesCOMMENT
LOWcrates/telemetry/src/meter.rs601 /// The cardinality of one instrument family is `series_count() ×COMMENT
LOWcrates/telemetry/src/otlp.rs1//! OTLP exporter wiring: the resource, the three providers, and the redactionCOMMENT
LOWcrates/telemetry/src/otlp.rs21//! Vector lifts those two fields into the OTLP `logRecord`.COMMENT
LOWcrates/telemetry/src/otlp.rs61/// explicitly: batched spans and logs still sitting in a queue at exit areCOMMENT
LOWcrates/telemetry/src/error_class.rs1//! The coarse failure vocabulary carried as `error.class`.COMMENT
LOWcrates/telemetry/src/error_class.rs21COMMENT
LOWcrates/telemetry/src/error_class.rs41 /// Epoch and snapshot disagreements — the BFG-007 / BFG-009 / BFG-011COMMENT
LOWcrates/telemetry/src/error_class.rs121COMMENT
LOWcrates/telemetry/src/semconv.rs1//! The `hydradb.*` attribute registry.COMMENT
LOWcrates/telemetry/src/semconv.rs21//! set is closed — [`KERNEL`], [`OUTCOME`], [`PLACEMENT_OWNERSHIP`],COMMENT
LOWcrates/telemetry/src/semconv.rs41//! [`NODE_ID`] is the one genuine judgement call. It is bounded by fleet size,COMMENT
LOWcrates/telemetry/src/semconv.rs121COMMENT
LOWcrates/telemetry/src/semconv.rs141/// and only as text inside a `NotCellWriter` display — so "how often does aCOMMENT
LOWcrates/telemetry/src/semconv.rs161/// under `owner` and a three-address one under `fleet`, and nothing on the spanCOMMENT
LOWcrates/telemetry/src/semconv.rs181/// else does: the query fingerprint says *which statement*, and only this saysCOMMENT
LOWcrates/telemetry/src/semconv.rs201/// from Bolt `tx_metadata` under the same rules as [`CORRELATION_ID`].COMMENT
LOWcrates/telemetry/src/semconv.rs221///COMMENT
LOWcrates/telemetry/src/semconv.rs241/// instead of forcing every alarm through one policy.COMMENT
LOWcrates/telemetry/src/semconv.rs261pub const DB_SYSTEM_NAME: &str = "db.system.name";COMMENT
LOWcrates/telemetry/src/semconv.rs281/// into exactly two distributions at the recording site. It is deliberatelyCOMMENT
LOWcrates/telemetry/src/semconv.rs301/// `histogram_quantile` works unchanged. See [`crate::meter`].COMMENT
348 more matches not shown…
Excessive Try-Catch Wrapping8 hits · 10 pts
SeverityFileLineSnippetContext
LOWscripts/cypher_engine_ab_client.py317 except Exception as exc: # public protocol failures are comparison outputCODE
LOWscripts/cypher_engine_ab_client.py368 except Exception as exc: # public protocol failures are comparison outputCODE
LOWscripts/multinode_k3s_client.py331 except Exception as error: # noqa: BLE001 - test must collect every worker failureCODE
LOWscripts/multinode_k3s_client.py349 except Exception as error: # noqa: BLE001CODE
LOWscripts/multinode_k3s_client.py488 except Exception as error: # noqa: BLE001 - the test asserts the server boundaryCODE
LOWscripts/multinode_k3s_client.py541 except Exception: # noqa: BLE001 - any lost response is explicitly retriedCODE
MEDIUMscripts/multinode_k3s_client.py320def reader(index):CODE
MEDIUMscripts/multinode_k3s_client.py334def writer():CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALsrc/client/bolt.rs1787 let scope = pending.prepared.request.target.scope.clone();CODE
Cross-Language Confusion1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHscripts/cypher_engine_ab_client.py438 # Duplicate sort keys, a missing residual property (null), and aCOMMENT
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWscripts/multinode_k3s_client.py193CODE
LOWscripts/multinode_k3s_client.py316CODE
LOWscripts/multinode_k3s_client.py498CODE
LOWscripts/multinode_k3s_client.py576CODE
LOWscripts/multinode_k3s_client.py320CODE
LOWscripts/multinode_k3s_client.py334CODE
LOWscripts/bolt_graphblas_client.py135CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/cypher_engine_ab_client.py592except AssertionError:CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/cypher_engine_ab_client.py9CODE
LOWscripts/bolt_graphblas_client.py4CODE