AI Slop Code Risk Monitor

tbphp/gpt-load

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

Self-hosted AI gateway for multi-channel, multi-credential setups — API keys and subscription accounts, scheduling, failover, request logs and usage. 自托管 AI 网关:多渠道多凭据统一接入,含密钥与订阅账号、调度容错、日志与用量。

0.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for tbphp/gpt-load, a Go project with 7,191 GitHub stars. SynthScan examined 511,630 lines of code across 2097 source files, recording 281 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 0.7 (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.

0.7
Adjusted Signal
0.7
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
7.2K
Stars
Go
Language
511.6K
Lines of Code
2.1K
Files
281
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 2.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 2.3/100 · LOW

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

PR Review Velocity Impact 3.2/100 · LOW

Which changes need focused human review? 281 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 4MEDIUM 13LOW 263

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 281 distinct pattern matches across 13 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.

Hyper-Verbose Identifiers217 hits · 226 pts
SeverityFileLineSnippetContext
LOWweb/src/frontends/classic/app/route-locations.ts18function validateSharedPageRouteNames(): void {CODE
LOWweb/src/frontends/classic/app/unsaved-changes.ts22export function createUnsavedChangesController(): UnsavedChangesController {CODE
LOWweb/src/frontends/classic/app/unsaved-changes.ts100export function useUnsavedChangesController(): UnsavedChangesController {CODE
LOW⚡web/src/frontends/classic/app/route-query.ts9export function parsePositiveRouteInteger(value: LocationQuery[string]): number | undefined {CODE
LOW⚡web/src/frontends/classic/app/route-query.ts16export function normalizeCollectionSearch(value: string | undefined): string | undefined {CODE
LOW⚡web/src/frontends/classic/app/route-query.ts22export function constrainCollectionSearch(value: string | undefined): string | undefined {CODE
LOWweb/src/frontends/classic/app/route-query.ts49export function parsePositiveRouteIntegerList(value: LocationQuery[string]): number[] {CODE
LOWweb/src/frontends/classic/app/route-query.ts63export function serializePositiveRouteIntegerList(values: readonly number[]): string | undefined {CODE
LOWweb/src/frontends/classic/app/query-keys.ts13export function normalizeGroupCollectionFilters(CODE
LOWweb/src/frontends/classic/app/query-keys.ts28export function normalizeCredentialCollectionFilters(CODE
LOWweb/src/frontends/classic/app/query-keys.ts41export function normalizeAccessKeyCollectionFilters(CODE
LOWweb/src/frontends/classic/app/ephemeral-state.ts3export function registerEphemeralStateCleaner(cleaner: () => void): () => void {CODE
LOWweb/src/frontends/classic/app/resources/model-prices.ts299export function projectModelPriceCollection(value: unknown): ModelPriceCollectionDto {CODE
LOWweb/src/frontends/classic/app/resources/model-prices.ts316export function normalizeModelPriceFilters(filters: ModelPriceFilters): ModelPriceFilters {CODE
LOWweb/src/frontends/classic/app/resources/model-prices.ts353export function modelPriceCollectionQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/model-prices.ts429export function projectModelPriceMutationIssue(CODE
LOWweb/src/frontends/classic/app/resources/request-logs.ts911export function requestLogDetailQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/usage.ts173function projectUsageDistributionAggregate(value: unknown): UsageDistributionAggregateDto {CODE
LOWweb/src/frontends/classic/app/resources/usage.ts347 function projectDistributionMetricRecord(CODE
LOW…b/src/frontends/classic/app/resources/system-update.ts32function projectNonBlankTrimmedString(value: unknown): string {CODE
LOWweb/src/frontends/classic/app/resources/projector.ts70export function projectNullableEpochMilliseconds(value: unknown): number | null {CODE
LOWweb/src/frontends/classic/app/resources/projector.ts92export function projectNullableDecimalString(value: unknown): string | null {CODE
LOW…/src/frontends/classic/app/resources/client-catalog.ts89export function resolveDefaultReasoningLevel(CODE
LOW…c/frontends/classic/app/resources/credential-stages.ts168function projectCredentialImportBatch(CODE
LOW…c/frontends/classic/app/resources/credential-stages.ts240export async function beginCredentialAuthorization(CODE
LOW…c/frontends/classic/app/resources/credential-stages.ts255export async function completeCredentialAuthorization(CODE
LOW…c/frontends/classic/app/resources/credential-stages.ts271export async function pollCredentialDeviceAuthorization(CODE
LOW…c/frontends/classic/app/resources/credential-stages.ts363export async function inspectGroupCredentialConnection(CODE
LOW…rc/frontends/classic/app/resources/route-inspection.ts190function projectNullableNonBlankString(value: unknown): string | null {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts278export function readCredentialValidationData(value: unknown): CredentialValidationData | null {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts323function projectParameterJSONValue(value: unknown, depth = 0): ParameterJSONValue {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts341function projectParameterOverrideMatch(value: unknown): ParameterOverrideMatchDto {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts352function projectParameterOverrideRule(value: unknown): ParameterOverrideRuleDto {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts371function projectParameterOverrides(value: unknown): ParameterOverrideRuleDto[] {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts535function projectGroupCollectionSummary(value: unknown): GroupCollectionSummaryDto {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts550function projectGroupCollectionItem(value: unknown): GroupCollectionItemDto {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts574function projectGroupCollectionPagination(value: unknown): GroupCollectionPaginationDto {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts585function expectedGroupCollectionTotalPages(totalItems: number, pageSize: number): number {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts591function expectedGroupCollectionPageItems(pagination: GroupCollectionPaginationDto): number {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts673function projectCredentialImportResult(value: unknown): CredentialImportResult {CODE
LOWweb/src/frontends/classic/app/resources/groups.ts777export function groupCollectionQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/groups.ts824export function groupSettingsQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/groups.ts933export async function replaceGroupModelsResource(CODE
LOWweb/src/frontends/classic/app/resources/groups.ts958export async function invalidateGroupModelDependents(CODE
LOWweb/src/frontends/classic/app/resources/groups.ts994export async function invalidateGroupSettingsDependents(CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts130function projectNonBlankTrimmedString(value: unknown): string {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts172export function projectAccessKeyCostLimitRule(value: unknown): AccessKeyCostLimitRuleDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts184export function projectAccessKeyCostLimitRuleStatus(CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts241export function projectAccessKeyCostLimitStatus(value: unknown): AccessKeyCostLimitStatusDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts311function projectAccessKeyCollectionSummary(value: unknown): AccessKeyCollectionSummaryDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts323function projectAccessKeyCollectionPagination(value: unknown): AccessKeyCollectionPaginationDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts334function expectedCollectionTotalPages(totalItems: number, pageSize: number): number {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts338function expectedCollectionPageItems(pagination: AccessKeyCollectionPaginationDto): number {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts355export function projectAccessKeyCollectionItem(value: unknown): AccessKeyCollectionItemDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts369export function projectAccessKeyCollection(value: unknown): AccessKeyCollectionResponseDto {CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts437export function accessKeyCollectionQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/access-keys.ts450export function accessKeyOptionsQueryOptions(CODE
LOWweb/src/frontends/classic/app/resources/health.ts263function projectExpiringResetCredit(value: unknown): HealthExpiringResetCreditDto {CODE
LOWweb/src/frontends/classic/app/resources/credentials.ts261function projectObservedWindowUsage(value: unknown): CredentialObservedWindowUsageDto {CODE
LOWweb/src/frontends/classic/app/resources/credentials.ts291function projectCredentialJSONValue(value: unknown): unknown {CODE
157 more matches not shown…
AI Slop Vocabulary9 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json76 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json76 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json250 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json250 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json424 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json424 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json591 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json591 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM…embedded/modelcatalog/codex_client_models_0.164.0.json1408 "instructions_template": "You are Codex, a coding agent based on GPT-5. You and the user share one workspace, anCODE
Fake / Example Data22 hits · 22 pts
SeverityFileLineSnippetContext
LOW…ontends/classic/features/import/CredentialTextarea.vue145 :placeholder="placeholder"CODE
LOW…src/frontends/classic/components/ui/AppSearchInput.vue65 :placeholder="placeholder"CODE
LOW…b/src/frontends/classic/components/ui/AppTextInput.vue81 :placeholder="placeholder"CODE
LOWweb/src/frontends/classic/components/ui/AppCombobox.vue97 :placeholder="placeholder"CODE
LOW…s/modern/features/groups/SubscriptionAuthorization.vue164 :placeholder="placeholder"CODE
LOWinternal/control/modern_credential_options_test.go103 firstGroup, first := createHomeSubscriptionCredential(t, fixture, "legacy", "shared", "admin@example.com")CODE
LOWinternal/control/modern_credential_options_test.go104 secondGroup, second := createHomeSubscriptionCredential(t, fixture, "current", "shared", "admin@example.com")CODE
LOWinternal/control/modern_credential_options_test.go154 if option.Label != "admin@example.com" {CODE
LOWinternal/control/modern_credential_options_test.go183 if len(home.Items) != 4 || home.Items[0].Credential.Account.Email != "admin@example.com" || home.Items[0].GroupCount !=CODE
LOWinternal/control/credential_stages_test.go70 "id_token":"id-secret","account_id":"account-123","email":"admin@example.com",CODE
LOWinternal/control/credential_stages_test.go526 AccountID: "account-123", Email: "admin@example.com",CODE
LOWinternal/control/credential_stages_test.go584 AccountID: "account-123", Email: "admin@example.com",CODE
LOWinternal/control/credential_stages_test.go751 `{"type":"codex","access_token":"access","refresh_token":"refresh","account_id":"account-123","email":"admin@example.cCODE
LOWinternal/gateway/handler_test.go3738 handler, manager, registry := newHandlerForTest(t, forwarder, "placeholder")CODE
LOWinternal/gateway/handler_test.go4024 handler, manager, registry := newHandlerForTest(t, forwarder, "placeholder")CODE
LOWinternal/gateway/handler_test.go4109 handler, manager, registry := newHandlerForTest(t, forwarder, "placeholder")CODE
LOWinternal/gateway/handler_test.go4173 handler, manager, registry := newHandlerForTest(t, forwarder, "placeholder")CODE
LOWthird_party/cpaembedded/embedded/embedded_test.go30 "email":"admin@example.com",CODE
LOWthird_party/cpaembedded/embedded/embedded_test.go43 if credential.AccountID != "account-123" || credential.Email != "admin@example.com" {CODE
LOWthird_party/cpaembedded/embedded/embedded_test.go334 Email: "admin@example.com",CODE
LOWthird_party/cpaembedded/embedded/embedded_test.go345 if credential.AccountID != "account-123" || credential.Email != "admin@example.com" {CODE
LOWthird_party/cpaembedded/embedded/embedded_test.go872 Email: "admin@example.com",CODE
Slop Phrases11 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json76 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
LOW⚡…embedded/modelcatalog/codex_client_models_0.164.0.json76 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
MEDIUM⚡…embedded/modelcatalog/codex_client_models_0.164.0.json250 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
LOW⚡…embedded/modelcatalog/codex_client_models_0.164.0.json250 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
LOW⚡…embedded/modelcatalog/codex_client_models_0.164.0.json424 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
LOW⚡…embedded/modelcatalog/codex_client_models_0.164.0.json591 "instructions_template": "You are Codex, an agent based on GPT-6. You and the user share one workspace, and yourCODE
LOW…embedded/modelcatalog/codex_client_models_0.164.0.json767 "instructions_template": "You are Codex, an agent based on GPT-5. You and the user share one workspace, and yourCODE
LOW…embedded/modelcatalog/codex_client_models_0.164.0.json908 "instructions_template": "You are Codex, an agent based on GPT-5. You and the user share one workspace, and yourCODE
LOW…embedded/modelcatalog/codex_client_models_0.164.0.json1045 "instructions_template": "You are Codex, an agent based on GPT-5. You and the user share one workspace, and yourCODE
LOW…embedded/modelcatalog/codex_client_models_0.164.0.json1408 "instructions_template": "You are Codex, a coding agent based on GPT-5. You and the user share one workspace, anCODE
LOW…embedded/modelcatalog/codex_client_models_0.164.0.json1533 "instructions_template": "You are Codex, an agent based on GPT-5. You and the user share one workspace, and yourCODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICAL…assic/features/settings/ExperimentalSettingsFields.vue75 props.base.settings.request_audit_preset.rules.filter(CODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHscripts/release_runtime.py266 '[{"index":0,"delta":{"content":"release-ok"},"finish_reason":null}]}\n\n'CODE
HIGHscripts/release_runtime.py284 "if [ \"$length\" -gt 0 ]; then dd bs=1 count=\"$length\" of=/dev/null 2>/dev/null; fi\n"CODE
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOWinternal/codexrecovery/doc.go1// Package codexrecovery implements failure-triggered OpenAI ResponsesCOMMENT
LOWinternal/codexrecovery/sanitize.go41COMMENT
LOWinternal/catalog/official.go1package catalogCOMMENT
LOWinternal/subscription/passive_quota_flush.go21// FlushPassiveQuotaObservations persists up to one bounded batch of pendingCOMMENT
LOWinternal/gateway/live_proxy.go1// Adapted from CLIProxyAPI v7.3.15 internal/client/codex/live/tcp_proxy.go.COMMENT
LOW.github/scripts/release-verify-assets.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/release-verify-image-revision.sh1#!/usr/bin/env bashCOMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…c/frontends/modern/features/home/GatewayConnection.vue85const mask = computed(() => key.value?.mask ?? 'YOUR_API_KEY')CODE
Excessive Try-Catch Wrapping4 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/release_runtime.py128 except Exception:CODE
MEDIUMscripts/release_runtime.py110def __enter__(self) -> "DockerDatabase":CODE
LOWscripts/release.py157 except Exception as error:CODE
LOWscripts/release.py260 except Exception as error:CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/release_runtime.py77except (OSError, ValueError):CODE
Unused Imports4 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/release_runtime.py3CODE
LOWscripts/release.py3CODE
LOWscripts/release_mini.py3CODE
LOW.github/scripts/release-compare-semver.py3CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMinternal/requestaudit/audit.go1// Package requestaudit implements experimental Jev guardrails without rewriting content.COMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOW.github/scripts/release-compare-semver.py17CODE