AI Slop Code Risk Monitor

go-delve/delve

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

Delve is a debugger for the Go programming language.

2.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for go-delve/delve, a Go project with 24,955 GitHub stars. SynthScan examined 135,121 lines of code across 612 source files, recording 214 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 2.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.

2.9
Adjusted Signal
2.9
Raw Pattern Score
100%
Time Factor
2026-10-21
Last Push
25.0K
Stars
Go
Language
135.1K
Lines of Code
612
Files
214
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 11.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.1/100 · LOW

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

Agent Over-Engineering Ratio 0.1/100 · LOW

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

PR Review Velocity Impact 14.0/100 · LOW

Which changes need focused human review? 214 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 5HIGH 0MEDIUM 74LOW 135

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 214 distinct pattern matches across 8 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.

AI Slop Vocabulary73 hits · 201 pts
SeverityFileLineSnippetContext
MEDIUMcmd/dlv/dlv_test.go185 // Give delve some time to compile and write the binary.COMMENT
MEDIUMcmd/dlv/dlv_test.go211 // Sometimes delve on Windows can't remove the built binary beforeCOMMENT
MEDIUMcmd/dlv/dlv_test.go213 // See: https://travis-ci.com/go-delve/delve/jobs/296325131.COMMENT
MEDIUMcmd/dlv/dlv_test.go1882 // Check that when delve is run twice in the same directory simultaneouslyCOMMENT
MEDIUMcmd/dlv/cmds/commands.go400 // -c is unused and exists so delve can be used with coredumpctlCOMMENT
MEDIUMcmd/dlv/cmds/commands.go1007// so SIGINT gets sent to the debuggee and not to delve.COMMENT
MEDIUMcmd/dlv/cmds/commands.go1013 // as SIGINT to delve. Ignore it instead of stopping the serverCOMMENT
MEDIUM.github/ISSUE_TEMPLATE/issue_template.yml27 If this is about source listing not showing up (or breakpoints not being accepted) while running in a container CODE
MEDIUMservice/test/integration2_test.go2576 // See https://github.com/go-delve/delve/issues/2259COMMENT
MEDIUMservice/rpccommon/server.go28//go:generate go run github.com/go-delve/build-tools/cmd/gen-suitablemethods@latest suitablemethodsCOMMENT
MEDIUMservice/rpccommon/server.go365// GetVersion returns the version of delve as well as the API versionCOMMENT
MEDIUMservice/rpccommon/suitablemethods.go1// DO NOT EDIT: auto-generated using github.com/go-delve/build-tools/cmd/gen-suitablemethodsCOMMENT
MEDIUMservice/api/prettyprint.go520 // See https://ci.appveyor.com/project/derekparker/delve-facy3/builds/30179356.COMMENT
MEDIUMservice/rpc2/server.go282// `debugger.CreateBreakpoint` here: https://pkg.go.dev/github.com/go-delve/delve/service/debugger#Debugger.CreateBreakpCOMMENT
MEDIUMservice/rpc2/server.go580// See https://github.com/go-delve/delve/blob/master/Documentation/cli/expr.mdCOMMENT
MEDIUMservice/rpc2/client.go290// https://pkg.go.dev/github.com/go-delve/delve/service/debugger#Debugger.CreateBreakpointCOMMENT
MEDIUMservice/dap/handles.go22 // https://github.com/go-delve/delve/blob/master/Documentation/api/ClientHowto.md#loading-more-of-a-variableCOMMENT
MEDIUMservice/dap/server.go2// This allows delve to communicate with frontends using DAPCOMMENT
MEDIUMservice/dap/server.go912 /*TODO*/ s.sendUnsupportedErrorResponse(request.Request) // https://github.com/go-delve/delve/issues/2851COMMENT
MEDIUMservice/dap/server.go3144 // https://github.com/go-delve/delve/blob/master/Documentation/api/ClientHowto.md#looking-into-variables.COMMENT
MEDIUMservice/dap/server.go4486 // Filter out internal delve breakpoints (panic, fatal, hardcoded, etc.)COMMENT
MEDIUMservice/dap/server.go4325Unable to propagate EXC_BAD_ACCESS signal to target process and panic (see https://github.com/go-delve/delve/issues/852)CODE
MEDIUMservice/dap/types.go210 // https://github.com/go-delve/delve/blob/master/Documentation/cli/README.md#goroutinesCOMMENT
MEDIUMservice/dap/server_test.go632 // TODO(polina): once https://github.com/go-delve/delve/issues/2259 isCOMMENT
MEDIUMservice/dap/server_test.go4096 t.Skip("test skipped on Windows, see https://delve.teamcity.com/project/Delve_windows for details")CODE
MEDIUMservice/dap/server_test.go4422// TestEvaluateEscapeStrings reproduces https://github.com/go-delve/delve/issues/4245.COMMENT
MEDIUMservice/dap/server_test.go6451 t.Skip("test skipped on Windows, see https://delve.teamcity.com/project/Delve_windows for details")CODE
MEDIUMservice/dap/daptest/client.go5//go:generate go run github.com/go-delve/build-tools/cmd/gen-daptest@latest -o ./resp.goCOMMENT
MEDIUMservice/dap/daptest/client.go660// KnownEvent passes decode checks, but delve has no 'case' toCOMMENT
MEDIUMservice/dap/daptest/client.go662// added to go-dap, but not to delve.COMMENT
MEDIUM.teamcity/pom.xml25 <url>https://delve.teamcity.com/app/dsl-plugins-repository</url>CODE
MEDIUMpkg/proc/proc_amd64_test.go82 // Fixes issue https://github.com/go-delve/delve/issues/2985COMMENT
MEDIUMpkg/proc/target_exec.go1737 // in delve to support breakpoints in cgo.COMMENT
MEDIUMpkg/proc/bininfo.go89 // github.com/go-delve/delveCOMMENT
MEDIUMpkg/proc/bininfo.go90 // will map to 'delve' because it ends in '/delve'.COMMENT
MEDIUMpkg/proc/bininfo.go1708 // Previous versions of delve looked for the build id in every debug infoCOMMENT
MEDIUMpkg/proc/bininfo.go1715 // Previous versions of delve looked for the executable filename (withCOMMENT
MEDIUMpkg/proc/bininfo.go2006 // This is a bit arcane. Essentially:COMMENT
MEDIUMpkg/proc/bininfo.go2395// See also https://github.com/go-delve/delve/issues/3797COMMENT
MEDIUMpkg/proc/variables.go177 // When this happens delve will have to scan many empty buckets to find theCOMMENT
MEDIUMpkg/proc/variables.go182 // Since there is no good way for a user of delve to specify the value ofCOMMENT
MEDIUMpkg/proc/ppc64le_disasm.go34 // address, Teach delve to recognize this sequence to appropriately adjust PC address so that the breakpoint is actuallCOMMENT
MEDIUMpkg/proc/proc_test.go695 skipOn(t, "broken - see https://github.com/go-delve/delve/issues/3158", "darwin", "amd64")CODE
MEDIUMpkg/proc/proc_test.go1838 // See: https://github.com/go-delve/delve/pull/2082COMMENT
MEDIUMpkg/proc/proc_test.go4977 // https://github.com/go-delve/delve/issues/2346COMMENT
MEDIUMpkg/proc/proc_test.go4997 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_test.go5051 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_test.go5174 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_test.go5961 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_test.go5995 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_test.go6035 skipOn(t, "see https://github.com/go-delve/delve/issues/2768", "windows")CODE
MEDIUMpkg/proc/proc_unix_test.go37 // SIGINT directed at the inferior should be passed along not swallowed by delveCOMMENT
MEDIUMpkg/proc/breakpoints.go122// BreakpointKind determines the behavior of delve when theCOMMENT
MEDIUMpkg/proc/fncall.go670 // See: https://github.com/go-delve/delve/pull/2451#discussion_r665761531COMMENT
MEDIUMpkg/proc/fncall.go878 // See https://github.com/go-delve/delve/issues/2985 andCOMMENT
MEDIUMpkg/proc/eval.go563 // See https://github.com/go-delve/delve/issues/2049 for detailsCOMMENT
MEDIUMpkg/proc/core/core_test.go685 t.Fatalf("issue #3591: main.mod_map frame SP mismatch: delve=%#x runtime=%#x (see panic.txt in test temp dir pattern)"CODE
MEDIUMpkg/proc/native/dump_linux.go51 // pure PFN range, see https://github.com/go-delve/delve/issues/2630COMMENT
MEDIUMpkg/proc/native/ptrace_linux_386.go31 // ignore ENODEV, it just means this CPU or kernel doesn't support XSTATE, see https://github.com/go-delve/delve/issuCOMMENT
MEDIUMpkg/proc/native/ptrace_linux_amd64.go30 // ignore ENODEV, it just means this CPU or kernel doesn't support XSTATE, see https://github.com/go-delve/delve/issuCOMMENT
13 more matches not shown…
Over-Commented Block124 hits · 124 pts
SeverityFileLineSnippetContext
LOWcmd/dlv/cmds/helphelpers/help.go1package helphelpersCOMMENT
LOW_scripts/rtype.go1// This script checks that the Go runtime hasn't changed in ways that DelveCOMMENT
LOW_scripts/rtype.go21// // +rtype -field S.F TCOMMENT
LOW_scripts/rtype.go41// and check that type T has the specified fields.COMMENT
LOWservice/client.go141 // AttachedToExistingProcess returns whether we attached to a running process or notCOMMENT
LOWservice/debugger/debugger.go101 // only when launching a new process.COMMENT
LOWservice/debugger/debugger.go661// CreateBreakpoint creates a breakpoint using information from the provided `requestedBp`.COMMENT
LOWservice/debugger/debugger.go681// corresponding to all specified addresses.COMMENT
LOWservice/api/types.go21type DebuggerState struct {COMMENT
LOWservice/api/types.go41 // NextInProgress indicates that a next or step operation was interrupted by another breakpointCOMMENT
LOWservice/api/types.go81type Breakpoint struct {COMMENT
LOWservice/api/types.go341 // contents.COMMENT
LOWservice/api/types.go461COMMENT
LOWservice/rpc2/server.go681 Groups []api.GoroutineGroupCOMMENT
LOWservice/rpc2/server.go701//COMMENT
LOWservice/dap/server.go41 "github.com/go-delve/delve/pkg/proc"COMMENT
LOWservice/dap/server.go61// signal that can come from an OS interrupt (such as Ctrl-C) orCOMMENT
LOWservice/dap/server.go81// goroutines here because the dap server does not supportCOMMENT
LOWservice/dap/server.go181COMMENT
LOWservice/dap/server.go281}COMMENT
LOWservice/dap/server.go301 ShowRegisters bool `cfgName:"showRegisters"`COMMENT
LOWservice/dap/server.go361// DefaultLoadConfig controls how variables are loaded from the target's memory.COMMENT
LOWservice/dap/server.go401 // stringify complex data conveniently.COMMENT
LOWservice/dap/server.go541 gobuild.Remove(s.binaryToRemove)COMMENT
LOWservice/dap/server.go561// client, this is used as a signal to stop the entire server.COMMENT
LOWservice/dap/server.go761 // --1-- Return a dummy response or an error right away.COMMENT
LOWservice/dap/server.go2161 // attribute unknown functions to the runtimeCOMMENT
LOWservice/dap/server.go3441 if _, err := parser.ParseExpr(expr); err != nil {COMMENT
LOWservice/dap/server.go3681 //COMMENT
LOWservice/dap/server.go4021}COMMENT
LOWservice/dap/server.go4041 // 0x0008 instruction (func2)COMMENT
LOWservice/dap/types.go21// same args as aboveCOMMENT
LOWservice/dap/types.go61 defaultAttachConfig = AttachConfig{COMMENT
LOWservice/dap/types.go81 // to debug in `exec` mode.COMMENT
LOWservice/dap/types.go101 Cwd string `json:"cwd,omitempty"`COMMENT
LOWservice/dap/types.go121 Output string `json:"output,omitempty"`COMMENT
LOWservice/dap/types.go141 // using Delve's working directory will use this new directory.COMMENT
LOWservice/dap/types.go201 // in the variables pane or not.COMMENT
LOWservice/dap/types.go221 // running remote debugging, or debugging an executable compiled externally.COMMENT
LOWservice/dap/types.go281COMMENT
LOWservice/dap/server_test.go361 <-serverStoppedCOMMENT
LOWservice/dap/server_test.go381// : 6 >> threadsCOMMENT
LOWservice/dap/server_test.go1861 // reflect.Kind == Int32 - see testvariables2COMMENT
LOWservice/dap/server_test.go2101 // reflect.Kind == Bool - see testvariablesCOMMENT
LOWservice/dap/server_test.go5821// execution. Otherwise, a continue will be issued and theCOMMENT
LOW_fixtures/cgostacktest/hello.c1#include <stdio.h>COMMENT
LOW_fixtures/testvariablescgo/test.c1#include <stdlib.h>COMMENT
LOWpkg/proc/arm64_arch.go61func arm64FixFrameUnwindContext(fctxt *frame.FrameContext, pc uint64, bi *BinaryInfo) *frame.FrameContext {COMMENT
LOWpkg/proc/amd64_arch.go61 // - sp is cfaCOMMENT
LOWpkg/proc/mapiter.go341 //COMMENT
LOWpkg/proc/scope_test.go41 }COMMENT
LOWpkg/proc/target_exec.go521 return grp.StepInstruction(false)COMMENT
LOWpkg/proc/target_exec.go681 dbp.StopReason = StopNextFinishedCOMMENT
LOWpkg/proc/target_exec.go701// and condition checking that we remain on the same goroutineCOMMENT
LOWpkg/proc/arch.go41 RegistersToDwarfRegisters func(uint64, Registers) *op.DwarfRegistersCOMMENT
LOWpkg/proc/ppc64le_arch.go201 // For a detailed description of how this works read the long comment atCOMMENT
LOWpkg/proc/bininfo.go421 }COMMENT
LOWpkg/proc/bininfo.go1861 return nilCOMMENT
LOWpkg/proc/variables.go61)COMMENT
LOWpkg/proc/variables.go81 VariableReturnArgumentCOMMENT
64 more matches not shown…
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippetContext
CRITICALpkg/proc/target_exec.go800 if !backward && !topframe.Current.Fn.cu.image.Stripped() {CODE
CRITICALpkg/proc/target_exec.go1080 if topframe.Call.Fn == nil || topframe.Call.Fn.cu.image.Stripped() {CODE
CRITICALpkg/proc/target_exec.go1089 dwarfTree, err := topframe.Current.Fn.cu.image.getDwarfTree(topframe.Current.Fn.offset)CODE
CRITICALpkg/proc/stack.go417 r.Call.File, r.Call.Line = r.Current.Fn.cu.lineInfo.PCToLine(r.Current.Fn.Entry, it.pc-1)CODE
CRITICALpkg/proc/stack.go507 dwarfTree, err := frame.Call.Fn.cu.image.getDwarfTree(frame.Call.Fn.offset)CODE
Fake / Example Data7 hits · 7 pts
SeverityFileLineSnippetContext
LOWcmd/dlv/dlv_test.go1104 Street: "123 Main St",CODE
LOWcmd/dlv/dlv_test.go1109 Street: "123 Main St",CODE
LOW_fixtures/issue1598.go9 return `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utCODE
LOW_fixtures/issue1598.go9 return `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utCODE
LOW_fixtures/traceverb.go48 Street: "123 Main St",CODE
LOWpkg/terminal/command_test.go1071 if !strings.Contains(r, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
LOWpkg/terminal/command_test.go1071 if !strings.Contains(r, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM_scripts/gencert.sh13# Create the certificate templateCOMMENT
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippetContext
LOWDocumentation/cli/starlark.md171def command_goroutine_start_line(args):CODE
LOWDocumentation/cli/starlark.md239def command_switch_to_main_goroutine(args):CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW_scripts/gencert.sh3# Check if the certificate is already present in the system keychainCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpkg/debugdetect/doc.go8// Example usage:COMMENT