AI Slop Code Risk Monitor

compio-rs/compio

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

A thread-per-core async Rust runtime with IOCP/io_uring/polling.

3.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for compio-rs/compio, a Rust project with 1,939 GitHub stars. SynthScan examined 75,570 lines of code across 458 source files, recording 301 pattern matches distributed across 2 syntactic categories. The legacy adjusted pattern signal is 3.9 (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.9
Adjusted Signal
3.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
1.9K
Stars
Rust
Language
75.6K
Lines of Code
458
Files
301
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 17.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 18.2/100 · LOW

Which changes need focused human review? 301 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 0MEDIUM 1LOW 300

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 301 distinct pattern matches across 2 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 Block300 hits · 290 pts
SeverityFileLineSnippetContext
LOWcompio-io/src/lib.rs1//! Traits and utilities for completion-based IO.COMMENT
LOWcompio-io/src/lib.rs21//! - [`AsyncReadManaged`]: Async read with a managed bufferCOMMENT
LOWcompio-io/src/lib.rs41//! (requires `compat` feature)COMMENT
LOWcompio-io/src/lib.rs61//! assert_eq!(res, 13);COMMENT
LOWcompio-io/src/lib.rs81//!COMMENT
LOWcompio-io/src/lib.rs101//!COMMENT
LOWcompio-io/src/write/buf.rs21/// times. It also provides no advantage when writing to a destination that isCOMMENT
LOWcompio-io/src/write/mod.rs21 /// [`BufResult`], consisting of the buffer and a [`usize`] indicating howCOMMENT
LOWcompio-io/src/write/ext.rs141COMMENT
LOWcompio-io/src/compat/sync_stream.rs221}COMMENT
LOWcompio-io/src/compat/sync_stream.rs461 /// Writes data to the internal buffer.COMMENT
LOWcompio-io/src/compat/sync_stream.rs501 ///COMMENT
LOWcompio-io/src/compat/sync_stream.rs521 self.read_buf.fill_read_buf(&mut self.inner).awaitCOMMENT
LOWcompio-io/src/util/copy.rs1use futures_util::future::join;COMMENT
LOWcompio-io/src/util/copy.rs21pub async fn copy<R: AsyncRead, W: AsyncWrite>(reader: &mut R, writer: &mut W) -> IoResult<u64> {COMMENT
LOWcompio-io/src/util/null.rs61///COMMENT
LOWcompio-io/src/util/split.rs21/// operations from different tasks.COMMENT
LOWcompio-io/src/util/split.rs81}COMMENT
LOWcompio-io/src/util/repeat.rs1use std::mem::MaybeUninit;COMMENT
LOWcompio-io/src/util/repeat.rs61impl AsyncBufRead for Repeat {COMMENT
LOWcompio-io/src/util/repeat.rs81/// .read_exact(Vec::with_capacity(3))COMMENT
LOWcompio-io/src/read/multi.rs1use futures_util::Stream;COMMENT
LOWcompio-io/src/read/multi.rs21///COMMENT
LOWcompio-io/src/read/buf.rs21 }COMMENT
LOWcompio-io/src/read/buf.rs41/// forwards write operations directly to the inner writer without touching theCOMMENT
LOWcompio-io/src/read/mod.rs21COMMENT
LOWcompio-io/src/read/mod.rs41 /// [`IoVectoredBufMut`].COMMENT
LOWcompio-io/src/read/ext.rs221 /// method, which require a [`Splittable`] to work.COMMENT
LOWcompio-io/src/read/ext.rs281 /// uninitialized space of specified `buffer`.COMMENT
LOWcompio-io/src/read/managed.rs1use std::io::Cursor;COMMENT
LOWcompio-io/src/read/managed.rs21 /// - if `len` > 0, `min(len, buffer_size)` will be the max number of bytesCOMMENT
LOWcompio-io/src/ancillary/bytemuck_ext.rs1//! Extension module for automatic [`AncillaryData`] implementation viaCOMMENT
LOWcompio-io/src/ancillary/bytemuck_ext.rs21/// ```COMMENT
LOWcompio-io/src/ancillary/mod.rs1//! Ancillary data (control message) support for connected streams.COMMENT
LOWcompio-io/src/ancillary/mod.rs21//! - [`AsyncWriteAncillary`]: write data together with ancillary dataCOMMENT
LOWcompio-io/src/ancillary/mod.rs301 }COMMENT
LOWcompio-io/src/ancillary/mod.rs321/// - Primitive types: `()`, `u8`, `u16`, `u32`, `u64`, `u128`, `usize`, `i8`,COMMENT
LOWcompio-io/src/ancillary/mod.rs341/// impl AncillaryData for MyData {COMMENT
LOWcompio-io/src/ancillary/mod.rs361/// Ok(MyData {COMMENT
LOWcompio-io/src/framed/mod.rs21COMMENT
LOWcompio-io/src/framed/mod.rs141 framer,COMMENT
LOWcompio-io/src/framed/frame.rs41 /// Slice payload out of the bufferCOMMENT
LOWcompio-io/src/framed/codec/mod.rs21 /// The `buf` is *guaranteed* to have 0 initialized bytes (`buf_len()` ==COMMENT
LOWcompio-io/src/framed/codec/bytes.rs1//! [`Encoder`]/[`Decoder`] implementation with BytesCOMMENT
LOWcompio-io/src/framed/codec/serde_json.rs1//! [`Encoder`]/[`Decoder`] implementation with serde_jsonCOMMENT
LOWcompio-io/src/framed/codec/serde_json.rs21//! name: "Alice".to_string(),COMMENT
LOWcompio-macros/src/lib.rs21/// configure what it is handed to:COMMENT
LOWcompio-net/src/unix.rs21};COMMENT
LOWcompio-net/src/unix.rs41///COMMENT
LOWcompio-net/src/unix.rs101 /// Close the socket. If the returned future is dropped before polling, theCOMMENT
LOWcompio-net/src/unix.rs181/// # ExamplesCOMMENT
LOWcompio-net/src/unix.rs601/// Send and receive a file descriptor over a Unix socket pair usingCOMMENT
LOWcompio-net/src/unix.rs621/// let mut builder = ctrl_send.builder();COMMENT
LOWcompio-net/src/tcp.rs41/// use compio_io::{AsyncReadExt, AsyncWriteExt};COMMENT
LOWcompio-net/src/tcp.rs61/// # });COMMENT
LOWcompio-net/src/tcp.rs101 })COMMENT
LOWcompio-net/src/tcp.rs141 /// Returns the local address that this listener is bound to.COMMENT
LOWcompio-net/src/tcp.rs221///COMMENT
LOWcompio-net/src/tcp.rs321 /// used to read and write the stream concurrently.COMMENT
LOWcompio-net/src/tcp.rs361 /// For more information about this option, seeCOMMENT
240 more matches not shown…
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/cd_release.yml31 # Create a PR with the new versions and changelog, preparing the next release.COMMENT