AI Slop Code RIsk Monitor

getsentry/self-hosted

Sentry, feature-complete and packaged up for low-volume deployments and proofs-of-concept

15.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for getsentry/self-hosted, a Shell project with 9,602 GitHub stars. SynthScan examined 9,150 lines of code across 109 source files, recording 77 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 15.2 (Elevated 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.

15.2
Adjusted Signal
15.2
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
9.6K
Stars
Shell
Language
9.2K
Lines of Code
109
Files
77
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 37.7/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 1.1/100 · LOW

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

Agent Over-Engineering Ratio 29.5/100 · MEDIUM

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

PR Review Velocity Impact 49.5/100 · MEDIUM

Which changes need focused human review? 77 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 24LOW 53

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 77 distinct pattern matches across 9 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.

Decorative Section Separators13 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh9# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh11# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh17# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh19# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh25# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh27# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh34# -----------------------------------------------------------------------COMMENT
MEDIUM⚡_unit-test/setup-custom-ca-certificate-test.sh36# -----------------------------------------------------------------------COMMENT
MEDIUM_unit-test/setup-custom-ca-certificate-test.sh48# -----------------------------------------------------------------------COMMENT
MEDIUM_unit-test/setup-custom-ca-certificate-test.sh54# -----------------------------------------------------------------------COMMENT
MEDIUM_unit-test/setup-custom-ca-certificate-test.sh97# -----------------------------------------------------------------------COMMENT
MEDIUM_unit-test/setup-custom-ca-certificate-test.sh99# -----------------------------------------------------------------------COMMENT
MEDIUMscripts/_lib.sh22 # ----------------------------------------COMMENT
Over-Commented Block30 hits · 30 pts
SeverityFileLineSnippetContext
LOWworkstation/299_setup-completed.sh1#!/bin/bashCOMMENT
LOWinstall/migrate-pgbouncer.sh1echo "${_group}Migrating Postgres config to PGBouncer..."COMMENT
LOWinstall/detect-platform.sh1source install/_detect-container-engine.shCOMMENT
LOW_unit-test/migrate-pgbouncer-test.sh21 "PORT": "",COMMENT
LOW_unit-test/migrate-pgbouncer-test.sh81rm $SENTRY_CONFIG_PYCOMMENT
LOW_unit-test/migrate-pgbouncer-test.sh141echo "Test 3 (custom postgres config)"COMMENT
LOWrelay/config.example.yml21# max_memory_percent: 1.0COMMENT
LOWrelay/config.example.yml41 prefix: "sentry.relay" # Adjust this to your needs, default is "sentry.relay"COMMENT
LOWsentry/config.example.yml1# While a lot of configuration in Sentry can be changed via the UI, for allCOMMENT
LOWsentry/config.example.yml21# appear at the same time. Only uncomment one of them.COMMENT
LOWsentry/config.example.yml41# When email-replies are enabled, this value is used in the Reply-To headerCOMMENT
LOWsentry/config.example.yml61#COMMENT
LOWsentry/config.example.yml81# 0:COMMENT
LOWsentry/config.example.yml121COMMENT
LOWsentry/config.example.yml141# -----END RSA PRIVATE KEY-----COMMENT
LOWsentry/config.example.yml161COMMENT
LOWsentry/sentry.conf.example.py61###########COMMENT
LOWsentry/sentry.conf.example.py81# Changing this value will result in all current sessions being invalidated.COMMENT
LOWsentry/sentry.conf.example.py101# Setting the value to False while running in an air-gapped environment willCOMMENT
LOWsentry/sentry.conf.example.py121# "169.254.0.0/16",COMMENT
LOWsentry/sentry.conf.example.py141# "::ffff:c000:200/120",COMMENT
LOWsentry/sentry.conf.example.py161# "ff00::/8",COMMENT
LOWsentry/sentry.conf.example.py241##################COMMENT
LOWsentry/sentry.conf.example.py261########COMMENT
LOWsentry/sentry.conf.example.py341# End of SSL/TLS settingsCOMMENT
LOWsentry/sentry.conf.example.py461COMMENT
LOWsentry/sentry.conf.example.py481COMMENT
LOWsentry/sentry.conf.example.py501# https://docs.djangoproject.com/en/4.2/ref/settings/#std-setting-CSRF_TRUSTED_ORIGINSCOMMENT
LOWsentry/sentry.conf.example.py521#########COMMENT
LOWsentry/enhance-image.example.sh1#!/bin/bashCOMMENT
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMsentry-admin.sh11# Define the Docker volume mapping.COMMENT
MEDIUMinstall/error-handling.sh20# Create the breadcrumb payload now before stacktrace is printedCOMMENT
MEDIUM_unit-test/migrate-pgbouncer-test.sh40# Create the replacement text in a temp fileCOMMENT
MEDIUM_unit-test/migrate-pgbouncer-test.sh97# Create the replacement text in a temp fileCOMMENT
MEDIUM_unit-test/migrate-pgbouncer-test.sh154# Create the replacement text in a temp fileCOMMENT
MEDIUMsentry/sentry.conf.example.py1# This file is just Python, with a touch of Django which meansCOMMENT
AI Slop Vocabulary7 hits · 16 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml86 # Leaving the value empty to just pass whatever is setCOMMENT
LOWdocker-compose.yml118 # Leaving the value empty to just pass whatever is setCOMMENT
MEDIUMdocker-compose.yml121 # If you have statsd server, you can utilize that to monitor self-hosted Snuba containers.COMMENT
LOWinstall/error-handling.sh84 # If not, we'll just use the kernel name and version from `uname`.COMMENT
MEDIUMsymbolicator/config.example.yml9# If you have statsd server, you can utilize that to monitor self-hosted Symbolicator.COMMENT
MEDIUMrelay/config.example.yml36# If you have statsd server, you can utilize that to monitor self-hosted Relay.COMMENT
MEDIUMsentry/sentry.conf.example.py548# If you have a statsd server, you can utilize that to monitor self-hostedCOMMENT
Hyper-Verbose Identifiers14 hits · 13 pts
SeverityFileLineSnippetContext
LOW_integration-test/conftest.py14def configure_self_hosted_environment(request):CODE
LOW_integration-test/conftest.py44def setup_backup_restore_env_variables():CODE
LOW_integration-test/test_01_basics.py112def test_asset_internal_rewrite():CODE
LOW_integration-test/test_01_basics.py120def test_memcached_django_cache():CODE
LOW_integration-test/test_01_basics.py246def test_cleanup_crons_running():STRING
LOW_integration-test/test_01_basics.py265def test_custom_certificate_authorities():STRING
LOW_integration-test/test_01_basics.py512def test_receive_transaction_events(client_login):STRING
LOW_integration-test/test_01_basics.py539def test_receive_user_feedback_events(client_login):STRING
LOW_integration-test/test_01_basics.py570def test_receive_metrics_events(client_login):STRING
LOW_integration-test/test_01_basics.py637def test_upload_mobile_builds(client_login):STRING
LOW⚡_integration-test/test_seaweedfs_kek.py32def test_recovers_plaintext_hex_kek():CODE
LOW⚡_integration-test/test_seaweedfs_kek.py37def test_recovers_wrapped_kek(version):CODE
LOW⚡_integration-test/test_seaweedfs_kek.py44def test_rejects_wrapped_kek_without_passphrase():CODE
LOW⚡_integration-test/test_seaweedfs_kek.py49def test_rejects_wrong_passphrase():CODE
Slop Phrases4 hits · 8 pts
SeverityFileLineSnippetContext
LOWinstall/_min-requirements.sh1# Don't forget to update the README and other docs when you change these!COMMENT
LOWsentry/config.example.yml46# Also don't forget to set `mail.enable-replies: true` above.COMMENT
LOWsentry/config.example.yml46# Also don't forget to set `mail.enable-replies: true` above.COMMENT
MEDIUMsentry/sentry.conf.example.py173# Through this setting, you can use the provided blob storage orCOMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsentry/config.example.yml25# NOTE: The following 2 configs (mail.from and mail.list-namespace) are setCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOW_integration-test/nodejs/user-feedback.js5 name: "John Doe",CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsentry/sentry.conf.example.py4CODE