AI Slop Code RIsk Monitor

fruitcake/laravel-debugbar

Debugbar for Laravel (Integrates PHP Debug Bar)

13.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for fruitcake/laravel-debugbar, a PHP project with 19,291 GitHub stars. SynthScan examined 22,309 lines of code across 167 source files, recording 237 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 13.0 (Moderate 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.

13.0
Adjusted Signal
13.0
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
19.3K
Stars
PHP
Language
22.3K
Lines of Code
167
Files
237
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 44.0/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 2.2/100 · LOW

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

Agent Over-Engineering Ratio 44.5/100 · MEDIUM

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

PR Review Velocity Impact 43.5/100 · MEDIUM

Which changes need focused human review? 237 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 9LOW 228

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 237 distinct pattern matches across 7 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 Identifiers213 hits · 240 pts
SeverityFileLineSnippetContext
LOWtests/DebugbarTest.php42 public function testItInjectsOnEmptyResponse()CODE
LOWtests/DebugbarTest.php51 public function testItInjectsOnNullyResponse()CODE
LOWtests/DebugbarTest.php78 public function testItDoesntInjectOnJsonLookingString()CODE
LOWtests/DebugbarTest.php87 public function testItDoesntInjectsOnHxRequestWithHxTarget()CODE
LOWtests/DebugbarTest.php99 public function testItInjectsOnHxRequestWithoutHxTarget()CODE
LOW⚡tests/DebugbarTest.php110 public function testItStoresRequestCorrelationIdFromHeader()CODE
LOW⚡tests/DebugbarTest.php119 public function testItSanitizesRequestCorrelationId()CODE
LOW⚡tests/DebugbarTest.php128 public function testItTruncatesRequestCorrelationId()CODE
LOW⚡tests/DebugbarTest.php137 public function testItOmitsRequestCorrelationIdWhenAbsent()CODE
LOW⚡tests/DebugbarTest.php144 public function testIsStorageOpenReturnsFalseForEmptyClientIp()CODE
LOWtests/DebugbarTest.php180 public function testIsStorageOpenOnlyAllowsLocalAndPrivateIpsByDefault(string $ip, bool $expected)CODE
LOWtests/DebugbarTest.php193 private function collectMetaDataForRequest(Request $request): arrayCODE
LOWtests/CspNonceTest.php52 public function testItPrefersViteNonceOverSpatieNonce()CODE
LOWtests/CspNonceTest.php63 public function testItIgnoresNonStringSpatieNonce()CODE
LOWtests/CspNonceTest.php73 public function testItHasNoNonceWhenNoneIsConfigured()CODE
LOW⚡tests/CanBeEnabledTest.php11 public function testCanBeEnabledInLocalDebugMode()CODE
LOW⚡tests/CanBeEnabledTest.php17 public function testCannotBeEnabledInProduction()CODE
LOW⚡tests/CanBeEnabledTest.php24 public function testCannotBeEnabledInTestingEnvironment()CODE
LOW⚡tests/CanBeEnabledTest.php31 public function testCannotBeEnabledWithDebugModeOff()CODE
LOW⚡tests/CanBeEnabledTest.php38 public function testForceAllowEnableOverridesProductionCheck()CODE
LOW⚡tests/CanBeEnabledTest.php46 public function testForceAllowEnableOverridesTestingCheck()CODE
LOW⚡tests/CanBeEnabledTest.php54 public function testForceAllowEnableOverridesDebugModeOff()CODE
LOW⚡tests/CanBeEnabledTest.php62 public function testForceAllowEnableDefaultsToFalse()CODE
LOWtests/LivewireBrowserTest.php63 public function testLivewireCollectsComponents()CODE
LOWtests/DebugbarBrowserTest.php165 public function testItCapturesAjaxRequests()CODE
LOWtests/DebugbarBrowserTest.php178 public function testDatabaseTabIsClickable()CODE
LOWtests/DebugbarBrowserTest.php190 public function testDatabaseCollectsQueries()CODE
LOWtests/DebugbarBrowserTest.php213 public function testDatabaseCollectsQueriesWithCustomPrototype()CODE
LOWtests/DebugbarBrowserTest.php240 public function testDatabaseCollectsQueriesWithSoftLimit()CODE
LOWtests/DebugbarBrowserTest.php256 public function testDatabaseCollectsQueriesWithHardLimit()CODE
LOWtests/ErrorHandlerTest.php39 public function testErrorHandlerRespectsCustomErrorLevel()CODE
LOWtests/DataCollector/RouteCollectorTest.php43 public function testItCollectsWithControllerHandler($controller, $file, $url)CODE
LOWtests/DataCollector/RouteCollectorTest.php61 public function testItCollectsWithViewComponentHandler($controller, $file, $url)CODE
LOWtests/DataCollector/RouteCollectorTest.php76 public function testItCollectsWithClosureHandler($file)CODE
LOW…ts/DataCollector/QueryCollectorRuntimeDatabaseTest.php19 public function testCollectsQueriesFromRuntimeConnections()CODE
LOW…ts/DataCollector/QueryCollectorRuntimeDatabaseTest.php53 public function testCollectsQueriesFromRuntimeConnectionsWithoutConnectUsing()CODE
LOWtests/DataCollector/AiCollectorTest.php39 public function testProviderRegistersCollectorWhenAiIsInstalled()CODE
LOWtests/DataCollector/AiCollectorTest.php47 public function testItRecordsAnAgentRunWithFoldedToolCallsAndUsage()CODE
LOWtests/DataCollector/AiCollectorTest.php87 public function testToolBufferIsConsumedPerInvocation()CODE
LOWtests/DataCollector/AiCollectorTest.php111 public function testItCollectsTokenUsageThroughAgentEvents(string $eventClass, int $inputTokens, int $outputTokens, CODE
LOWtests/DataCollector/AiCollectorTest.php156 public function testItOmitsBodiesWhenValuesAreDisabled()CODE
LOWtests/DataCollector/AiCollectorTest.php186 public function testItTruncatesLongBodies()CODE
LOWtests/DataCollector/LivewireCollectorTest.php29 public function testItCollectsLivewireComponents()CODE
LOWtests/DataCollector/LivewireCollectorTest.php55 public function testItCollectsAnonymousLivewireComponents()CODE
LOWtests/DataCollector/ModelsCollectorTest.php17 public function testItCollectsRetrievedModels()CODE
LOWtests/DataCollector/MailCollectorTest.php34 public function testItCollectsMultipleMails(): voidCODE
LOWtests/DataCollector/MailCollectorTest.php59 public function testItAddsMailsToTimelineCollector(): voidCODE
LOWtests/DataCollector/MailCollectorTest.php84 public function testItDoesNotAddToTimelineWhenDisabled(): voidCODE
LOWtests/DataCollector/MailCollectorTest.php125 public function testItHidesMailBodyWhenDisabled(): voidCODE
LOWtests/DataCollector/PennantCollectorTest.php48 public function testItCollectsPennantValues()CODE
LOWtests/DataCollector/HttpClientCollectorTest.php19 public function testItCollectsResponseReceivedEvents()CODE
LOWtests/DataCollector/HttpClientCollectorTest.php42 public function testItCollectsConnectionFailedEvents()CODE
LOWtests/DataCollector/HttpClientCollectorTest.php69 public function testItMasksAuthorizationHeader()CODE
LOWtests/DataCollector/HttpClientCollectorTest.php94 public function testItCollectsMultipleEvents()CODE
LOWtests/DataCollector/InertiaCollectorTest.php14 public function testNestedInertiaPropsAreNotTruncated(): voidCODE
LOWtests/DataCollector/QueryCollectorTest.php16 public function testItReplacesQuestionMarksBindingsCorrectly()CODE
LOWtests/DataCollector/QueryCollectorTest.php43 public function testDollarBindingsArePresentedCorrectly()CODE
LOWtests/DataCollector/QueryCollectorTest.php64 public function testItAcceptsNonStringMessages(): voidCODE
LOWtests/DataCollector/QueryCollectorTest.php77 public function testResultModeForSelectQuery(): voidCODE
LOWtests/DataCollector/QueryCollectorTest.php97 public function testResultModeForWithQuery(): voidCODE
153 more matches not shown…
Decorative Section Separators6 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMdocs/overrides/shortcodes.py32# -----------------------------------------------------------------------------COMMENT
MEDIUMdocs/overrides/shortcodes.py34# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡docs/overrides/shortcodes.py73# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡docs/overrides/shortcodes.py75# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡docs/overrides/shortcodes.py97# -----------------------------------------------------------------------------COMMENT
MEDIUMdocs/overrides/shortcodes.py112# -----------------------------------------------------------------------------COMMENT
Self-Referential Comments3 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/overrides/shortcodes.py77# Create a flag of a specific typeCOMMENT
MEDIUM⚡docs/overrides/shortcodes.py87# Create a linkable optionCOMMENT
MEDIUM⚡docs/overrides/shortcodes.py92# Create a linkable setting - @todo append them to the bottom of the pageCOMMENT
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWtests/DataCollector/ModelsCollectorTest.php35 'name' => 'John Doe',CODE
LOWtests/DataCollector/ModelsCollectorTest.php41 'name' => 'Jane Doe',CODE
LOWtests/DataCollector/ModelsCollectorTest.php66 $user->update(['name' => 'Jane Doe']);CODE
LOWtests/DataCollector/InertiaCollectorTest.php27 'name' => 'John Doe',CODE
LOWtests/DataCollector/InertiaCollectorTest.php36 'name' => 'Jane Doe',CODE
LOWtests/DataCollector/InertiaCollectorTest.php49 $this->assertStringContainsString('John Doe', $params['users']);CODE
LOWtests/DataCollector/InertiaCollectorTest.php54 $this->assertStringContainsString('Jane Doe', $params['object']);CODE
LOWtests/DataCollector/GateCollectorTest.php25 'name' => 'John Doe',CODE
LOWtests/DataCollector/GateCollectorTest.php90 'name' => 'John Doe',CODE
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOWdocs/overrides/shortcodes.py37CODE
LOWdocs/overrides/shortcodes.py78CODE
LOWdocs/overrides/shortcodes.py42CODE
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdocs/overrides/shortcodes.py1# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>COMMENT
LOW.github/workflows/release-drafter.yml21 permissions:COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/overrides/shortcodes.py22CODE