AI Slop Code Risk Monitor

goadesign/goa

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

Design-first Go framework that generates API code, documentation, and clients. Define once in an elegant DSL, deploy as HTTP and gRPC services with zero drift between code and docs.

2.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for goadesign/goa, a Go project with 6,117 GitHub stars. SynthScan examined 248,179 lines of code across 963 source files, recording 459 pattern matches distributed across 6 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
6.1K
Stars
Go
Language
248.2K
Lines of Code
963
Files
459
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 8.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 10.4/100 · LOW

Which changes need focused human review? 459 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 8HIGH 0MEDIUM 6LOW 445

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 459 distinct pattern matches across 6 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 Block432 hits · 414 pts
SeverityFileLineSnippetContext
LOWmiddleware/xray/segment.go21 Name string `json:"name"`COMMENT
LOWmiddleware/xray/segment.go41 HTTP *HTTP `json:"http,omitempty"`COMMENT
LOWgrpc/handler.go21 //COMMENT
LOWgrpc/middleware/trace.go21 // SpanIDMetadataKey is the default name of the gRPC request metadataCOMMENT
LOWgrpc/middleware/trace.go41 ctx = withTrace(ctx, info.FullMethod, o)COMMENT
LOWgrpc/middleware/doc.go1// Package middleware contains gRPC server and client interceptors that wrapsCOMMENT
LOWgrpc/middleware/canceler.go21//COMMENT
LOWgrpc/middleware/requestid.go21// request ID. The default behavior is to always generate a new ID.COMMENT
LOWgrpc/middleware/requestid.go41// RequestIDMetadata key. Optionally, it uses the incoming "x-request-id"COMMENT
LOWgrpc/middleware/xray/middleware.go21type xrayStreamClientWrapper struct {COMMENT
LOWgrpc/middleware/xray/middleware.go41// closing the top level segment. Typical usage:COMMENT
LOWgrpc/codegen/service_data.go61 // Endpoints describes the gRPC service endpoints.COMMENT
LOWgrpc/codegen/service_data.go81 //COMMENT
LOWgrpc/codegen/service_data.go101 ClientInterfaceInit stringCOMMENT
LOWgrpc/codegen/service_data.go121 // validations contain the data to generate the validation functions toCOMMENT
LOWgrpc/codegen/service_data.go141 ServerProtobufPkgName stringCOMMENT
LOWgrpc/codegen/service_data.go181 // MessageSchemes lists all the security requirement schemes thatCOMMENT
LOWgrpc/codegen/service_data.go201COMMENT
LOWgrpc/codegen/service_data.go221 // ClientDecode is the response decoder name kept for existing plugins.COMMENT
LOWgrpc/codegen/service_data.go241 // Changing it does not rename generated code.COMMENT
LOWgrpc/codegen/service_data.go301 // Slice is true if the metadata value type is an array.COMMENT
LOWgrpc/codegen/service_data.go341 RequestData struct {COMMENT
LOWgrpc/codegen/service_data.go361 // transport must carry both the one-shot payload and streaming payloadCOMMENT
LOWgrpc/codegen/service_data.go401 // StreamItemFieldName is the name of the streaming payload item branchCOMMENT
LOWgrpc/codegen/service_data.go421 FuncName stringCOMMENT
LOWgrpc/codegen/service_data.go441 // Description is the response description.COMMENT
LOWgrpc/codegen/service_data.go461 // initialize the method result type or the projected result typeCOMMENT
LOWgrpc/codegen/service_data.go481 // TgtName is the fully qualified name of the target type.COMMENT
LOWgrpc/codegen/service_data.go501 }COMMENT
LOWgrpc/codegen/service_data.go561 // initialized with the argument if any.COMMENT
LOWgrpc/codegen/service_data.go581 Validate stringCOMMENT
LOWgrpc/codegen/service_data.go601 // ServiceInterface is the service interface that the struct implements.COMMENT
LOWgrpc/codegen/service_data.go621 SendConvert *ConvertDataCOMMENT
LOWsecurity/scheme.go21 // BasicScheme represents the BasicAuth security scheme.COMMENT
LOWsecurity/scheme.go41 // by the scheme. It is a subset of Scopes field.COMMENT
LOWsecurity/scheme.go61 // generated by JWTSecurity for designs that intentionally model JWTCOMMENT
LOWjsonrpc/doc.go1// Package jsonrpc provides constructs and utilities for building JSON-RPC 2.0COMMENT
LOWjsonrpc/integration_tests/framework/generator.go21var templateFS embed.FSCOMMENT
LOWexpr/attribute.go21 // Attribute typeCOMMENT
LOWexpr/attribute.go61 // CompositeExpr defines a generic composite expression that contains anCOMMENT
LOWexpr/attribute.go81 // ExclusiveMinimum represents an exclusiveMinimum value validation as describedCOMMENT
LOWexpr/attribute.go101 // described atCOMMENT
LOWexpr/service.go21 Description stringCOMMENT
LOWexpr/user_type.go1// This file defines user types and records the original declaration fromCOMMENT
LOWexpr/random.go61COMMENT
LOWexpr/types.go281// type (so call aliased type).COMMENT
LOWexpr/security.go61 // SchemeExpr defines a security scheme used to authenticate against theCOMMENT
LOWexpr/method.go21 // Name of method.COMMENT
LOWexpr/http_endpoint.go21 // responses made to that endpoint. The shape of requests is defined viaCOMMENT
LOWexpr/http_endpoint.go41 // Params defines the HTTP request path and query parameters.COMMENT
LOWexpr/http_endpoint.go61 // without an ID and do not wait for a JSON-RPC response.COMMENT
LOWexpr/http_endpoint.go81 MultipartRequest boolCOMMENT
LOWexpr/http_service.go21 // ServiceExpr is the service expression that backs thisCOMMENT
LOWexpr/http_service.go41 // HTTPErrors lists HTTP errors that apply to all endpoints.COMMENT
LOWexpr/result_type.go21type (COMMENT
LOWexpr/result_type.go261// Project returns an error if the view does not exist for the given result typeCOMMENT
LOWexpr/validation_effective.go1package exprCOMMENT
LOWexpr/api.go21 Description stringCOMMENT
LOWexpr/http_sse.go21 // DataField is the name of the attribute in the StreamingResult typeCOMMENT
LOWexpr/meta.go1package exprCOMMENT
372 more matches not shown…
Hallucination Indicators8 hits · 80 pts
SeverityFileLineSnippetContext
CRITICALgrpc/codegen/planned_name_collision_test.go60 require.NotEqual(t, "NewProtoWatchRequest", endpoint.Request.ClientConvert.Init.Declaration.Name())CODE
CRITICALgrpc/codegen/planned_name_collision_test.go64 require.NotEqual(t, "ValidateWatchRequest", endpoint.Request.ServerConvert.Validation.Declaration.Name())CODE
CRITICALgrpc/codegen/streaming_test.go220 legacyConstructor := service.Endpoints[0].Request.LegacyDecode.ServerConvert.Init.Declaration.Name()CODE
CRITICALgrpc/codegen/streaming_errors_test.go44 name := errorData.Response.ClientConvert.Init.Declaration.Name()CODE
CRITICALexpr/http_endpoint.go430 if s := e.MethodExpr.Service.design.API.GRPC.Service(e.Service.Name()); s != nil {CODE
CRITICALexpr/http_endpoint.go445 if s := e.MethodExpr.Service.design.API.GRPC.Service(e.Service.Name()); s != nil {CODE
CRITICALexpr/grpc_endpoint.go612 if v, ok := e.MethodExpr.Service.design.API.Meta.Last(streamCompatMetaKey); ok {CODE
CRITICALhttp/codegen/plan_test.go958 require.Equal(t, endpoint.Payload.Request.PayloadInit.Declaration.Name(), endpoint.Payload.Request.PayloadInit.Name)CODE
Fake / Example Data12 hits · 18 pts
SeverityFileLineSnippetContext
LOW⚡codegen/funcs_test.go208 str: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolCODE
LOW⚡codegen/funcs_test.go208 str: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolCODE
LOW⚡codegen/funcs_test.go209 expected: "Lorem ipsum dolor sit amet, consectetur\n" +CODE
LOW⚡codegen/funcs_test.go209 expected: "Lorem ipsum dolor sit amet, consectetur\n" +CODE
LOW⚡codegen/funcs_test.go217 str: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go217 str: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go222 expected: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go222 expected: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go232 str: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go232 str: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go235 expected: "Lorem ipsum dolor sit amet,\n" +CODE
LOW⚡codegen/funcs_test.go235 expected: "Lorem ipsum dolor sit amet,\n" +CODE
AI Slop Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMjsonrpc/integration_tests/scenarios/scenarios.yaml684 # Note: The gRPC call itself is validated via harness gRPC client parity checksCOMMENT
MEDIUMjsonrpc/integration_tests/scenarios/scenarios.yaml685 # (to be added in harness/runner extensions if we choose to assert both paths here).COMMENT
MEDIUMexpr/types.go75 // implementations. Plugins may leverage this interface to introduceCOMMENT
MEDIUMcodegen/go_transform.go253// don't have a match in source. The matching and generated code leverageCOMMENT
MEDIUMeval/error.go87 // Start scanning just above computeErrorLocation itself. This is robust toCOMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMjsonrpc/integration_tests/README.md488├── framework/ # The core engine: discovers scenarios, orchestrates code generation, and runs tests.CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdsl/error.go187// Example usage:COMMENT