AI Slop Code Risk Monitor

grokability/snipe-it

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

A free open source IT asset/license management system

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for grokability/snipe-it, a PHP project with 15,134 GitHub stars. SynthScan examined 855,108 lines of code across 8746 source files, recording 848 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
15.1K
Stars
PHP
Language
855.1K
Lines of Code
8.7K
Files
848
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 4.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

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

Agent Over-Engineering Ratio 2.8/100 · LOW

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

PR Review Velocity Impact 5.2/100 · LOW

Which changes need focused human review? 848 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 30LOW 818

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 848 distinct pattern matches across 12 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 Identifiers419 hits · 415 pts
SeverityFileLineSnippetContext
LOWdatabase/factories/CategoryFactory.php104 public function accessoryKeyboardCategory()CODE
LOWdatabase/factories/CheckoutAcceptanceFactory.php118 private function createdAssociatedActionLogEntry(CheckoutAcceptance $acceptance): voidCODE
LOWdatabase/factories/UserFactory.php316 public function viewEncryptedCustomFields()CODE
LOWapp/Importer/LocationImporter.php95 public function createLocationIfNotExists(array $row)CODE
LOWapp/Importer/Importer.php232 private static function readSampleForEncodingProbe(string $path): ?stringCODE
LOWapp/Importer/Importer.php330 private static function conversionExceedsLossThreshold(string $source, string $converted, string $encoding): boolCODE
LOWapp/Importer/LicenseImporter.php218 protected function assignSeatIfCheckoutTargetSet(License $license, string $asset_tag): voidCODE
LOWapp/Importer/CategoryImporter.php67 public function createCategoryIfNotExists(array $row)CODE
LOWapp/Importer/ComponentImporter.php103 public function createComponentIfNotExists($row = null)CODE
LOWapp/Importer/ItemImporter.php337 protected function recordOrderForImportedRow($model, array $row): voidCODE
LOWapp/Importer/ItemImporter.php695 public function createOrFetchManufacturer($item_manufacturer)CODE
LOWapp/Importer/AssetModelImporter.php77 public function createAssetModelIfNotExists(array $row)CODE
LOWapp/Importer/AssetModelImporter.php189 public function createOrFetchCustomFieldset($fieldset_name): ?intCODE
LOWapp/Importer/SupplierImporter.php64 public function createSupplierIfNotExists(array $row)CODE
LOWapp/Importer/AssetHistoryImporter.php62 public function setMatchFirstnameLastname(bool $flag): selfCODE
LOWapp/Importer/AccessoryImporter.php102 public function createAccessoryIfNotExists($row)CODE
LOWapp/Importer/ManufacturerImporter.php58 public function createManufacturerIfNotExists(array $row)CODE
LOWapp/Importer/ConsumableImporter.php105 public function createConsumableIfNotExists($row)CODE
LOWapp/Traits/LocksLongRunningOperation.php61 protected function operationAlreadyRunningMessage(string $operationLabelKey): stringCODE
LOWapp/Mail/BulkAssetCheckoutMail.php112 private function getRequiresAcceptanceInfo(): ?stringCODE
LOWapp/Mail/BulkAssetCheckoutMail.php121 private function getRequiresAcceptancePrompt(): ?stringCODE
LOWapp/Providers/TelescopeServiceProvider.php36 protected function hideSensitiveRequestDetails(): voidCODE
LOWapp/Models/Maintenance.php209 public function setExpectedCompletionDateAttribute($value)CODE
LOWapp/Models/Maintenance.php225 public function setCompletionDateAttribute($value)CODE
LOWapp/Models/Maintenance.php230 public function getCompletionDateAttribute()CODE
LOWapp/Models/User.php306 private function revokeAssociatedPassportTokens(): voidCODE
LOWapp/Models/User.php328 private function purgeAssociatedPassportTokens(): voidCODE
LOWapp/Models/User.php405 public function getEffectivePermissionsBySection(): arrayCODE
LOWapp/Models/User.php490 private function buildPermissionSourceLabel(string $status, string $source, array $sourceGroups = []): stringCODE
LOWapp/Models/User.php1025 public function syncCompaniesPreservingInvisibleTo(?User $editor, array $submittedCompanyIds): voidCODE
LOWapp/Models/User.php1105 public function syncLegacyCompanyIdMirror(): voidCODE
LOWapp/Models/User.php1500 public function getAssignedItemsWithPendingAcceptance(): CollectionCODE
LOWapp/Models/User.php1606 public static function generateEmailFromFullName($name)CODE
LOWapp/Models/User.php1613 public static function generateFormattedNameFromFullName($users_name, $format = 'filastname')CODE
LOWapp/Models/User.php1915 public function getAllSubordinatesIncludingSelf()CODE
LOWapp/Models/User.php1926 protected function fetchSubordinatesRecursive(User $manager, Collection &$subs)CODE
LOWapp/Models/AssetModel.php207 protected function hasStockForBulkFulfillment(): boolCODE
LOWapp/Models/Actionlog.php200 protected static function resolveCompanyIdFromAttributes(CODE
LOWapp/Models/Actionlog.php222 protected static function resolveCompanyIdFromModelClass(?string $modelClass, ?int $id): ?intCODE
LOWapp/Models/Ldap.php470 public static function parseAndMapLdapAttributes($ldapattributes)CODE
LOWapp/Models/Ldap.php502 public static function applyLdapAttributesToUser(User $user, array $ldapAttr): voidCODE
LOWapp/Models/Company.php376 public static function isFullMultipleCompanySupportEnabled()CODE
LOWapp/Models/Company.php714 private static function scopeCompanyablesDirectly($query, $column = 'company_id', $table_name = null)CODE
LOWapp/Models/License.php384 public function setExpirationDateAttribute($value)CODE
LOWapp/Models/License.php403 public function setTerminationDateAttribute($value)CODE
LOWapp/Models/License.php451 public function getFreeSeatCountAttribute()CODE
LOWapp/Models/License.php650 public function getLicenseSeatsCountAttribute()CODE
LOWapp/Models/License.php731 public function getAvailSeatsCountAttribute()CODE
LOWapp/Models/License.php768 public function getAssignedSeatsCountAttribute()CODE
LOWapp/Models/License.php906 public function scopeTextSearchWithoutSerial($query, $search)CODE
LOWapp/Models/SnipeModel.php107 public function setDepreciationIdAttribute($value)CODE
LOWapp/Models/SnipeModel.php115 public function setManufacturerIdAttribute($value)CODE
LOWapp/Models/SnipeModel.php155 public function setWarrantyMonthsAttribute($value)CODE
LOWapp/Models/SnipeModel.php163 public function setRtdLocationIdAttribute($value)CODE
LOWapp/Models/SnipeModel.php208 public function scopeApplyOffsetAndLimit(Builder $query, int $total)CODE
LOWapp/Models/SnipeSCIMConfig.php548 private function logGroupMembershipChangesForIds(Model $object, array $attachedIds, array $detachedIds): voidCODE
LOWapp/Models/CheckoutAcceptance.php43 public function getCheckoutableItemTypeAttribute(): stringCODE
LOWapp/Models/CheckoutAcceptance.php67 public function isAccessibleToCurrentUser(): boolCODE
LOWapp/Models/CustomField.php177 public static function allowedElementKeysForFormat(?string $formatLabel): arrayCODE
LOWapp/Models/CustomField.php226 public static function elementRequiresFieldValues(?string $element): boolCODE
359 more matches not shown…
Over-Commented Block194 hits · 182 pts
SeverityFileLineSnippetContext
LOWsnipeit.sh1#!/bin/bashCOMMENT
LOWsnipeit.sh21# * verify support for Ubuntu 24.04 -> 25.04 #COMMENT
LOWsnipeit.sh321 log "mv /etc/apache2/sites-enabled/snipeit.conf /etc/apache2/sites-enabled/000-snipeit.conf"COMMENT
LOWdatabase/seeders/SettingsSeeder.php21 $settings->alert_email = 'service@snipe-it.io';COMMENT
LOWdatabase/factories/MaintenanceFactory.php61 * @return arrayCOMMENT
LOWdocker/startup.sh141# HTTP_-prefixed server variable names in login_remote_user_header_nameCOMMENT
LOWapp/Importer/Importer.php181 public function __construct($file)COMMENT
LOWapp/Importer/ItemImporter.php141 return;COMMENT
LOWapp/Importer/ItemImporter.php161 // "Location" on every row; when checkout_class was missing the codeCOMMENT
LOWapp/Importer/AssetImporter.php41 // parent unconditionally assigns $this->item entries for everyCOMMENT
LOWapp/Importer/AssetHistoryImporter.php201COMMENT
LOWapp/Providers/AuthServiceProvider.php201 }COMMENT
LOWapp/Providers/AuthServiceProvider.php221 || $user->can('checkout', Consumable::class)COMMENT
LOWapp/Providers/AuthServiceProvider.php321 || $user->can('view', Depreciation::class);COMMENT
LOWapp/Providers/ValidationServiceProvider.php261 }COMMENT
LOWapp/Providers/ValidationServiceProvider.php321 return true;COMMENT
LOWapp/Providers/ValidationServiceProvider.php621 // of their own view by the strict-mode scope. See #19192. PassesCOMMENT
LOWapp/Providers/ValidationServiceProvider.php681 // No company context available (e.g. model-level validation before companies areCOMMENT
LOWapp/Models/User.php1041 return;COMMENT
LOWapp/Models/AssetModel.php241COMMENT
LOWapp/Models/Company.php761 // documented at https://snipe-it.readme.io/docs/multi-tenancy-ishCOMMENT
LOWapp/Models/Company.php801 if ($floater) {COMMENT
LOWapp/Models/Component.php421 // than this asset and full multiple company support is on we'll remove the global scope,COMMENT
LOWapp/Models/SnipeSCIMConfig.php221 if (! $attribute->isDirty()) {COMMENT
LOWapp/Models/SnipeSCIMConfig.php321// not the full member list. Using sync() would wipe all other members on every user update.COMMENT
LOWapp/Models/SnipeSCIMConfig.php361 // (since $parent->getKey() is null) and blow up with a MySQL 23000 integrityCOMMENT
LOWapp/Models/SnipeSCIMConfig.php401 // not the whole membership, so a PATCH against a group withCOMMENT
LOWapp/Models/SnipeSCIMConfig.php601 $object->{$this->relationship_id_field} = $value ? $this->relationship_class::firstOrCreate([$this->relationshipCOMMENT
LOWapp/Models/CheckoutAcceptance.php321 // runs parseEscapedMarkedown + strips img tags before returning).COMMENT
LOWapp/Models/CustomField.php361 }COMMENT
LOWapp/Models/Setting.php261 return '';COMMENT
LOWapp/Models/Setting.php281 // context that treats < as an HTML boundary. The old encode-then-COMMENT
LOWapp/Models/Setting.php301 // a browser. Strip comments here first so the at-rule and url()COMMENT
LOWapp/Models/Asset.php1681 // date, a warranty expiration). The mixed cast metadata onCOMMENT
LOWapp/Models/Traits/Searchable.php61COMMENT
LOWapp/Models/Traits/Searchable.php1241 /**COMMENT
LOWapp/Models/Traits/AdjustsQuantity.php101 // concurrent adjusters serialize. Read + floor-check +COMMENT
LOWapp/Models/Traits/HasCalendarEvents.php261 // The observers that call into this method dispatch it throughCOMMENT
LOWapp/SyncAdapters/MappingTargets.php141 // asset_tag, model, model_number, notes, order_number.COMMENT
LOWapp/SyncAdapters/HostInventoryRecord.php41 // Vendor's group identifier (Fleet Team id, Jamf Site id,COMMENT
LOWapp/SyncAdapters/SyncsHostFromRecord.php61 throw new RuntimeException('Failed to save asset during heartbeat-only sync.');COMMENT
LOWapp/SyncAdapters/SyncsHostFromRecord.php141 // Migration path for customers moving from a homegrownCOMMENT
LOWapp/SyncAdapters/SyncsHostFromRecord.php641 $asset->asset_tag = self::resolveAssetTag($record, $instance);COMMENT
LOW…s/AppleBusinessManager/AppleBusinessManagerAdapter.php1081 // hardware_marketing_name for cross-adapterCOMMENT
LOWapp/SyncAdapters/Intune/IntuneAdapter.php361 'intune_ownership' => Arr::get($device, 'managedDeviceOwnerType'),COMMENT
LOWapp/Presenters/UserPresenter.php521 // return 'roieuoe'.html_entity_decode($this->first_name.' '.$this->last_name, ENT_QUOTES | ENT_XML1, 'UTF-8'COMMENT
LOWapp/Presenters/CheckoutRequestPresenter.php101 // (on-hand) column.COMMENT
LOWapp/Livewire/NeedsAttention.php81 // snapshot and hydrate the widget even though the parent viewCOMMENT
LOWapp/Livewire/CheckoutTargetPanel.php121COMMENT
LOWapp/Livewire/Importer.php61COMMENT
LOWapp/Livewire/Importer.php161 // stay hardcoded in requiredForType() below.COMMENT
LOWapp/Livewire/Importer.php181 // the license's total capacity count (not a per-seat pivot id).COMMENT
LOWapp/Livewire/Importer.php301COMMENT
LOWapp/Livewire/Importer.php961 {COMMENT
LOWapp/Livewire/Importer.php1141 $ruleString = is_array($rule) ? implode('|', $rule) : (string) $rule;COMMENT
LOWapp/Livewire/LdapSettings.php41 // Note: there is no uniform response-time floor. An earlier iterationCOMMENT
LOWapp/Livewire/LdapSettings.php61 // Flipped true by any updated() hook and back to false on successfulCOMMENT
LOWapp/Livewire/LdapSettings.php81 // Read-only lock. Set from config('app.lock_passwords') in mount()COMMENT
LOWapp/Livewire/LdapSettings.php1601 'ldap_active_flag',COMMENT
LOWapp/Http/Middleware/CheckUserIsActivated.php61 // "known token, disabled account" case from an unknownCOMMENT
134 more matches not shown…
Fake / Example Data138 hits · 159 pts
SeverityFileLineSnippetContext
LOWapp/Models/User.php1782 * Both column orders are tried so a user named "John Doe" matchesCOMMENT
LOWapp/Models/User.php1783 * both "John Doe" and "Doe John" regardless of the install'sCOMMENT
LOW⚡…yncAdapters/GoogleWorkspace/GoogleWorkspaceAdapter.php71 'placeholder' => 'snipeit-sync@your-project.iam.gserviceaccount.com',CODE
LOW⚡…yncAdapters/GoogleWorkspace/GoogleWorkspaceAdapter.php79 'placeholder' => "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",CODE
LOW⚡…yncAdapters/GoogleWorkspace/GoogleWorkspaceAdapter.php85 'placeholder' => 'admin@your-domain.com',CODE
LOW…s/AppleBusinessManager/AppleBusinessManagerAdapter.php133 'placeholder' => "-----BEGIN PRIVATE KEY-----\n1234567890\n-----END PRIVATE KEY-----",CODE
LOWapp/SyncAdapters/CustomHttp/CustomHttpAdapter.php147 'placeholder' => 'X-API-Key',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php165 'placeholder' => '/api/v1/devices',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php174 'placeholder' => 'data.devices',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php182 'placeholder' => 'id',CODE
LOWapp/SyncAdapters/CustomHttp/CustomHttpAdapter.php204 'placeholder' => '/api/v1/devices/{external_id}',CODE
LOWapp/SyncAdapters/CustomHttp/CustomHttpAdapter.php213 'placeholder' => 'notes',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php230 'placeholder' => '500',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php239 'placeholder' => 'limit',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php248 'placeholder' => 'offset',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php257 'placeholder' => 'page',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php266 'placeholder' => '1',CODE
LOW⚡app/SyncAdapters/CustomHttp/CustomHttpAdapter.php275 'placeholder' => 'links.next',CODE
LOW⚡app/Livewire/IntegrationSettingsForm.php94 'placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX',CODE
LOW⚡app/Livewire/IntegrationSettingsForm.php100 'placeholder' => trans('general.url'),CODE
LOW⚡app/Livewire/IntegrationSettingsForm.php106 'placeholder' => 'https://chat.googleapis.com/v1/spaces/xxxxxxxx/messages?key=xxxxxx',CODE
LOW⚡app/Livewire/IntegrationSettingsForm.php112 'placeholder' => 'https://abcd.webhook.office.com/webhookb2/XXXXXXX',CODE
LOWapp/Livewire/IntegrationSettingsForm.php145 $this->webhook_placeholder = $this->webhook_text[$this->webhook_selected]['placeholder'];CODE
LOW…sources/views/blade/sync-adapter/credentials.blade.php226 :placeholder="$field['placeholder'] ?? null"CODE
LOW…sources/views/blade/sync-adapter/credentials.blade.php254 :placeholder="$field['placeholder'] ?? null"CODE
LOWresources/views/blade/form/field.blade.php18 'placeholder' => null,CODE
LOWresources/views/blade/form/row.blade.php20 'placeholder' => null,CODE
LOWresources/views/blade/input/datetimepicker.blade.php5 'placeholder' => trans('general.select_datetime'),CODE
LOWresources/views/blade/input/datepicker.blade.php6 'placeholder' => trans('general.select_date'),CODE
LOWresources/views/blade/input/password.blade.php6 'placeholder' => null,CODE
LOWresources/views/blade/input/colorpicker.blade.php6 'placeholder' => '#FF0000',CODE
LOWresources/views/blade/input/date-range.blade.php8 'placeholder' => trans('general.select_date'),CODE
LOW…sources/views/blade/input/select2-checkboxes.blade.php36 'placeholder' => '',CODE
LOWresources/views/livewire/ldap-settings.blade.php523 placeholder="{{ trans('general.example').($is_ad ? 'admin@example.com' : 'cn=admin,dc=exCODE
LOWresources/assets/js/snipeit.js749 var placeholder = link.data('placeholder') || '';CODE
LOWresources/assets/js/snipeit.js1041 $search.attr('placeholder', $search.attr('placeholder') || link.data('search-placeholder') || 'Search');CODE
LOWtests/Unit/LdapCreateUserFromLdapTest.php41 'telephonenumber' => ['555-0100'],CODE
LOWtests/Unit/LdapCreateUserFromLdapTest.php42 'mobile' => ['555-0200'],CODE
LOWtests/Unit/LdapCreateUserFromLdapTest.php90 $this->assertSame('555-0100', $user->phone);CODE
LOWtests/Unit/LdapCreateUserFromLdapTest.php91 $this->assertSame('555-0200', $user->mobile);CODE
LOWtests/Support/Settings.php22 public function enableAlertEmail(string $email = 'notifications@example.org'): SettingsCODE
LOWtests/Support/Settings.php59 public function enableAdminCC(string $email = 'cc@example.org'): SettingsCODE
LOWtests/Feature/Reporting/ActivityReportTest.php282 // "John Doe", so a user named John Doe orders alphabetically byCOMMENT
LOWtests/Feature/Reporting/ActivityReportTest.php326 // Without the last_first flip, the user would sort as "John Doe"COMMENT
LOWtests/Feature/Auth/GoogleLoginTest.php23 'username' => 'me@example.org',CODE
LOWtests/Feature/Auth/GoogleLoginTest.php28 $socialUser->shouldReceive('getEmail')->andReturn('me@example.org');CODE
LOWtests/Feature/Auth/GoogleLoginTest.php51 $user = User::factory()->create(['username' => 'me@example.org']);CODE
LOWtests/Feature/Auth/GoogleLoginTest.php57 $socialUser->shouldReceive('getEmail')->andReturn('me@example.org');CODE
LOWtests/Feature/SyncAdapters/GroupCompanyMappingTest.php178 'fleet_token' => 'fake-token',CODE
LOWtests/Feature/SyncAdapters/GroupCompanyMappingTest.php199 'fleet_token' => 'fake-token',CODE
LOWtests/Feature/SyncAdapters/GroupCompanyMappingTest.php216 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/ComposedNotesForPushTest.php207 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/SyncAdapterMutexTest.php40 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/SilentSaveFailureTest.php115 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOW…ncAdapters/MultiAdapterExternalSourceIsolationTest.php92 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/ExtraFieldMappingTest.php551 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/UserAssignmentTest.php212 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOW…Feature/SyncAdapters/CreateSnipeitAssetsOnPullTest.php102 SyncAdapterConfig::put($instance->id, 'token', Crypt::encrypt('fake-token'));CODE
LOWtests/Feature/SyncAdapters/AssetTagPatternTest.php221 'fleet_token' => 'fake-token',CODE
LOWtests/Feature/SyncAdapters/AssetTagPatternTest.php246 'fleet_token' => 'fake-token',CODE
78 more matches not shown…
Decorative Section Separators21 hits · 69 pts
SeverityFileLineSnippetContext
MEDIUM⚡TESTING.md15# --------------------------------------------COMMENT
MEDIUM⚡TESTING.md17# --------------------------------------------COMMENT
MEDIUM⚡TESTING.md25# --------------------------------------------COMMENT
MEDIUM⚡TESTING.md27# --------------------------------------------COMMENT
MEDIUM…eature/Migrations/CleanStalePendingAcceptancesTest.php338 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…eature/Migrations/CleanStalePendingAcceptancesTest.php341 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ure/Migrations/InventoryQtyReconcileAndRestoreTest.php107 // ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ure/Migrations/InventoryQtyReconcileAndRestoreTest.php109 // ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ure/Migrations/InventoryQtyReconcileAndRestoreTest.php144 // ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ure/Migrations/InventoryQtyReconcileAndRestoreTest.php146 // ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php58 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php60 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php165 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php167 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php259 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php261 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php307 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php309 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php386 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…Acceptances/PendingAcceptanceQuantityOnCheckinTest.php388 // ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…/Feature/ActionLogs/ActionlogCompanyIdBackfillTest.php77 // ──────────────────────────────────────────────────────────────────────────COMMENT
Verbosity Indicators31 hits · 60 pts
SeverityFileLineSnippetContext
LOW⚡app/Livewire/LdapSettings.php263 // Step 1: requires an LDAP server URL. Without it theCOMMENT
LOW⚡app/Livewire/LdapSettings.php269 // Step 2: requires base DN. Bind credentials themselves can beCOMMENT
LOW⚡app/Livewire/LdapSettings.php275 // Step 3: requires the two always-required mapping fields.COMMENT
LOW⚡app/Livewire/LdapSettings.php1573 // Step 1: ConnectionCOMMENT
LOW⚡app/Livewire/LdapSettings.php1577 // Step 2: Authenticate + ScopeCOMMENT
LOW⚡app/Livewire/LdapSettings.php1583 // Step 3: Attribute MappingCOMMENT
LOWapp/Livewire/LdapSettings.php99 // Step 1: ConnectionCOMMENT
LOWapp/Livewire/LdapSettings.php116 // Step 2: Bind credentialsCOMMENT
LOWapp/Livewire/LdapSettings.php131 // Step 3: Attribute mapping. LDAP attribute names Snipe-IT readsCOMMENT
LOWapp/Livewire/LdapSettings.php172 // Step 4: Sync + defaultsCOMMENT
LOWapp/Livewire/LdapSettings.php1602 // Step 4: Sync + DefaultsCOMMENT
LOW⚡app/Console/Commands/BulkDelete.php53 // Step 1: Dry run?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php61 // Step 2: Who are you?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php218 // Step 7: Clear related action_logs?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php225 // Step 8: Delete associated files?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php235 // Step 9: Delete the companies themselves?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php249 // Step 10: Backup first?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php256 // Step 11: Summary + final confirmationCOMMENT
LOWapp/Console/Commands/BulkDelete.php89 // Step 3: Which companies?COMMENT
LOWapp/Console/Commands/BulkDelete.php149 // Step 4: Which item types?COMMENT
LOWapp/Console/Commands/BulkDelete.php195 // Step 5: Hard delete, soft delete, or no delete?COMMENT
LOWapp/Console/Commands/BulkDelete.php206 // Step 6: Send checkin notifications? (not applicable to users or consumables)COMMENT
LOWapp/Console/Commands/BulkDelete.php317 // Step 11: Execute with progress barCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php59 // Step 1: dry run confirmCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php61 // Step 2: search() — ask() for the search term, then choice() to pick from resultsCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php65 // Step 3: multisearch for companies — ask() for search term, then multiselectFallback()COMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php68 // Step 4: multiselect for item typesCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php70 // Step 5: select for delete modeCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php73 // Step 6: notification confirm only shown for checkiable typesCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php81 // Step 8: file deletion prompt — only shown when deleteType !== 'none'COMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php86 // Step 9: company deletion — only shown when real companies (not just __null__) were selectedCOMMENT
Structural Annotation Overuse31 hits · 60 pts
SeverityFileLineSnippetContext
LOW⚡app/Livewire/LdapSettings.php263 // Step 1: requires an LDAP server URL. Without it theCOMMENT
LOW⚡app/Livewire/LdapSettings.php269 // Step 2: requires base DN. Bind credentials themselves can beCOMMENT
LOW⚡app/Livewire/LdapSettings.php275 // Step 3: requires the two always-required mapping fields.COMMENT
LOW⚡app/Livewire/LdapSettings.php1573 // Step 1: ConnectionCOMMENT
LOW⚡app/Livewire/LdapSettings.php1577 // Step 2: Authenticate + ScopeCOMMENT
LOW⚡app/Livewire/LdapSettings.php1583 // Step 3: Attribute MappingCOMMENT
LOWapp/Livewire/LdapSettings.php99 // Step 1: ConnectionCOMMENT
LOWapp/Livewire/LdapSettings.php116 // Step 2: Bind credentialsCOMMENT
LOWapp/Livewire/LdapSettings.php131 // Step 3: Attribute mapping. LDAP attribute names Snipe-IT readsCOMMENT
LOWapp/Livewire/LdapSettings.php172 // Step 4: Sync + defaultsCOMMENT
LOWapp/Livewire/LdapSettings.php1602 // Step 4: Sync + DefaultsCOMMENT
LOW⚡app/Console/Commands/BulkDelete.php53 // Step 1: Dry run?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php61 // Step 2: Who are you?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php218 // Step 7: Clear related action_logs?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php225 // Step 8: Delete associated files?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php235 // Step 9: Delete the companies themselves?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php249 // Step 10: Backup first?COMMENT
LOW⚡app/Console/Commands/BulkDelete.php256 // Step 11: Summary + final confirmationCOMMENT
LOWapp/Console/Commands/BulkDelete.php89 // Step 3: Which companies?COMMENT
LOWapp/Console/Commands/BulkDelete.php149 // Step 4: Which item types?COMMENT
LOWapp/Console/Commands/BulkDelete.php195 // Step 5: Hard delete, soft delete, or no delete?COMMENT
LOWapp/Console/Commands/BulkDelete.php206 // Step 6: Send checkin notifications? (not applicable to users or consumables)COMMENT
LOWapp/Console/Commands/BulkDelete.php317 // Step 11: Execute with progress barCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php59 // Step 1: dry run confirmCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php61 // Step 2: search() — ask() for the search term, then choice() to pick from resultsCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php65 // Step 3: multisearch for companies — ask() for search term, then multiselectFallback()COMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php68 // Step 4: multiselect for item typesCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php70 // Step 5: select for delete modeCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php73 // Step 6: notification confirm only shown for checkiable typesCOMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php81 // Step 8: file deletion prompt — only shown when deleteType !== 'none'COMMENT
LOW⚡tests/Feature/Console/BulkDeleteTest.php86 // Step 9: company deletion — only shown when real companies (not just __null__) were selectedCOMMENT
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMresources/assets/less/bootstrap-less/variables.less278//## Define the breakpoints at which your layout will change, adapting to different screen sizes.COMMENT
MEDIUMresources/assets/less/bootstrap-less/variables.less332//## Define the maximum width of `.container` for different screen sizes.COMMENT
MEDIUMansible/freebsd/vagrant_playbook.yml74 # Create a php.ini fileCOMMENT
Slop Phrases5 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMsnipeit.sh15# Feel free to modify, but please give #COMMENT
MEDIUMconfig/telescope.php130 | a request or task is executed. Feel free to customize this list.CODE
LOWresources/views/setup/index.blade.php163 Awesomesauce. Debug is either turned off, or you're running this in a non-production environment. (Don't forgeCODE
LOWresources/views/setup/done.blade.php61 Don't forget to join our communities! You can find us on:CODE
LOWtests/Feature/Settings/ShowSetUpPageTest.php95 $successMessage = "Awesomesauce. Debug is either turned off, or you're running this in a non-production environmCODE
AI Slop Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMresources/views/partials/bootstrap-table.blade.php5008 // plus a setTimeout fallback for the same tick, so we're robustCOMMENT
MEDIUMresources/assets/js/dragtable.js73 axis: 'x', // @see http://api.jqueryui.com/sortable/#option-axis, Only vertical moving is CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsnipeit.sh303 #Check if SELinux is enforcingCOMMENT
LOWdocker/startup.sh152# Set REMOTE_LOGIN_FORWARDED_HEADER to the inbound header name yourCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMapp/Models/Traits/Searchable.php353 // for exact matches we rewrite only the operator and keep the same SQL scaffold.COMMENT
Excessive Try-Catch Wrapping1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMupgrade.php34 print("Error was: " . curl_error($ch) . "\n");CODE