AI Slop Code Risk Monitor

nextcloud/server

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

☁️ Nextcloud server, a safe home for all your data

3.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for nextcloud/server, a PHP project with 37,367 GitHub stars. SynthScan examined 1,621,918 lines of code across 11158 source files, recording 5728 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.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.

3.7
Adjusted Signal
3.7
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
37.4K
Stars
PHP
Language
1.6M
Lines of Code
11.2K
Files
5.7K
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 15.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.1/100 · LOW

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

Agent Over-Engineering Ratio 15.5/100 · LOW

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

PR Review Velocity Impact 16.5/100 · LOW

Which changes need focused human review? 5728 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 2HIGH 10MEDIUM 31LOW 5685

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 5728 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 Identifiers5344 hits · 5397 pts
SeverityFileLineSnippetContext
LOWcore/Migrations/Version32000Date20250731062008.php41 private function cleanupDuplicateCategories(IOutput $output): void {CODE
LOWcore/Migrations/Version32000Date20250731062008.php110 private function cleanupDuplicateAssignments(IOutput $output, int $categoryId, int $keepId): void {CODE
LOWcore/Sharing/Recipient/UserShareRecipientType.php91 public function getRecipientInteractionReceiver(string $recipient): InteractionReceiver {CODE
LOWcore/Sharing/Recipient/GroupShareRecipientType.php87 public function getRecipientInteractionReceiver(string $recipient): InteractionReceiver {CODE
LOWcore/Sharing/Recipient/TokenShareRecipientType.php56 public function getRecipientInteractionReceiver(string $recipient): InteractionReceiver {CODE
LOWcore/Sharing/Recipient/TeamShareRecipientType.php87 public function getRecipientInteractionReceiver(string $recipient): InteractionReceiver {CODE
LOWcore/Sharing/Recipient/EmailShareRecipientType.php63 public function getRecipientInteractionReceiver(string $recipient): InteractionReceiver {CODE
LOW…e/Sharing/Property/ExpirationDateSharePropertyType.php159 private function hasLocalNonTokenAndEmailRecipient(Share $share): bool {CODE
LOWcore/Controller/CollaborationResourcesController.php205 public function createCollectionOnResource(string $baseResourceType, string $baseResourceId, string $name): DataResponsCODE
LOWcore/Controller/AppPasswordController.php227 public function getAppPasswordWithOneTimePassword(): DataResponse {CODE
LOWcore/Controller/LoginController.php206 private function setPasswordResetInitialState(?string $username): void {CODE
LOWcore/Controller/LoginController.php370 private function createLoginFailedResponse(CODE
LOWcore/Controller/TwoFactorChallengeController.php51 private function splitProvidersAndBackupCodes(array $providers): array {CODE
LOWcore/Controller/TaskProcessingApiController.php165 private function handleScheduleTaskInternal(CODE
LOWcore/Controller/TaskProcessingApiController.php831 public function getNextScheduledTaskBatch(array $providerIds, array $taskTypeIds, int $numberOfTasks = 1): DataResponseCODE
LOWcore/Controller/TaskProcessingApiController.php904 private function intersectTaskTypesAndProviders(array $taskTypeIds, array $providerIds): array {CODE
LOWcore/Controller/ClientFlowLoginController.php86 private function stateTokenForbiddenResponse(): StandaloneTemplateResponse {CODE
LOWcore/Controller/ClientFlowLoginV2Controller.php328 private function stateTokenMissingResponse(): StandaloneTemplateResponse {CODE
LOWcore/Controller/ClientFlowLoginV2Controller.php341 private function stateTokenForbiddenResponse(): StandaloneTemplateResponse {CODE
LOWcore/Controller/ClientFlowLoginV2Controller.php368 private function loginTokenForbiddenResponse(): StandaloneTemplateResponse {CODE
LOWcore/Controller/ClientFlowLoginV2Controller.php381 private function loginTokenForbiddenClientResponse(): StandaloneTemplateResponse {CODE
LOWcore/Command/Base.php98 protected function writeStreamingTableInOutputFormat(InputInterface $input, OutputInterface $output, \Iterator $items, CODE
LOWcore/Command/Encryption/EncryptAll.php37 protected function forceMaintenanceAndTrashbin(): void {CODE
LOWcore/Command/Encryption/EncryptAll.php46 protected function resetMaintenanceAndTrashbin(): void {CODE
LOWcore/Command/Encryption/DecryptAll.php38 protected function forceMaintenanceAndTrashbin(): void {CODE
LOWcore/Command/Encryption/DecryptAll.php48 protected function resetMaintenanceAndTrashbin(): void {CODE
LOWcore/Command/TwoFactorAuth/State.php64 private function filterEnabledDisabledUnknownProviders(array $providerStates): array {CODE
LOWcore/Command/User/AuthTokens/ListCommand.php75 public function formatTokenForPlainOutput(array $token): array {CODE
LOWcore/Command/Db/Migrations/GenerateMetadataCommand.php59 private function extractMigrationMetadataFromCore(): array {CODE
LOWcore/Command/Db/Migrations/GenerateMetadataCommand.php69 private function extractMigrationMetadataFromApps(): array {CODE
LOWcore/Command/Preview/Cleanup.php52 private function deletePreviewFromPreviewTable(OutputInterface $output): int {CODE
LOWcore/Command/Preview/Cleanup.php66 private function deletePreviewFromFileCacheTable(OutputInterface $output): int {CODE
LOWcore/Command/Maintenance/RepairShareOwnership.php120 protected function getWrongShareOwnershipForUser(IUser $user): array {CODE
LOWcore/src/components/AppMenu.vue377function tryRecomputeGridMaxHeight(retries: number) {CODE
LOW…src/components/AccountMenu/AccountMenuProfileEntry.vue66function handleProfileEnabledUpdate(enabled: boolean) {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php108 public function testBeforeControllerNotLoggedIn(): void {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php122 public function testBeforeSetupController(): void {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php136 public function testBeforeControllerNoTwoFactorCheckNeeded(): void {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php156 public function testBeforeControllerTwoFactorAuthRequired(): void {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php182 public function testBeforeControllerUserAlreadyLoggedIn(): void {CODE
LOWtests/Core/Middleware/TwoFactorMiddlewareTest.php208 public function testAfterExceptionTwoFactorAuthRequired(): void {CODE
LOW⚡tests/Core/Listener/AvatarVersionListenerTest.php27 public function testBumpsTheVersionWhenTheAccountChanges(): void {CODE
LOW⚡tests/Core/Listener/AvatarVersionListenerTest.php37 public function testBumpsTheVersionWhenTheAccountIsDisabled(): void {CODE
LOW⚡tests/Core/Listener/AvatarVersionListenerTest.php47 public function testIgnoresUnrelatedUserChanges(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php60 public function testShareActionApiDisabled(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php71 public function testShareActionDisabledForUser(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php90 public function testShareActionUserReceiverGroupMembersOnly(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php111 public function testShareActionUserReceiverGroupMembersOnlyExclude(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php135 public function testShareActionGroupReceiverGroupMembersOnly(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php151 public function testShareActionGroupReceiverGroupMembersOnlyExclude(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php170 public function testShareActionGroupReceiverGroupSharingDisabled(): void {CODE
LOWtests/Core/Listener/RestrictInteractionListenerTest.php187 public function testShareActionLinkEmailReceiverLinkSharingDisabled(): void {CODE
LOW…/Core/Sharing/Recipient/TeamShareRecipientTypeTest.php133 public function testGetRecipientDisplayName(): void {CODE
LOW…Core/Sharing/Recipient/GroupShareRecipientTypeTest.php111 public function testGetRecipientDisplayName(): void {CODE
LOW…Core/Sharing/Recipient/EmailShareRecipientTypeTest.php69 public function testGetRecipientDisplayName(): void {CODE
LOW…/Core/Sharing/Recipient/UserShareRecipientTypeTest.php102 public function testGetRecipientDisplayName(): void {CODE
LOW…ore/Sharing/Property/PasswordSharePropertyTypeTest.php118 public function testIsExpiredEmailPasswordFiltered(): void {CODE
LOWtests/Core/Notification/CoreNotifierTest.php23 public function testPrepareCodeIntegrityChanged(): void {CODE
LOWtests/Core/Controller/LostControllerTest.php173 public function testResetFormTokenErrorWithDisabledLink(): void {CODE
LOWtests/Core/Controller/LostControllerTest.php339 public function testEmailWithMailSuccessful(): void {CODE
5284 more matches not shown…
Fake / Example Data279 hits · 325 pts
SeverityFileLineSnippetContext
LOWcore/src/tests/utils/mountInPlace.spec.ts20 return () => h('nav', { id: 'placeholder', ref: root }, String(count.value))CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts32 document.body.innerHTML = '<header><nav id="placeholder"></nav></header>'CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts34 mountInPlace(createApp(Counter), document.getElementById('placeholder')!)CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts37 expect(document.querySelector('header')!.innerHTML).toBe('<nav id="placeholder">0</nav>')CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts41 document.body.innerHTML = '<div id="placeholder"></div>'CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts43 mountInPlace(createApp(Counter), document.getElementById('placeholder')!)CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts49 document.body.innerHTML = '<div id="placeholder"></div>'CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts51 const instance = mountInPlace(app, document.getElementById('placeholder')!) as unknown as { increment: () => void }CODE
LOW⚡core/src/tests/utils/mountInPlace.spec.ts55 expect(document.body.innerHTML).toBe('<nav id="placeholder">1</nav>')CODE
LOW…e/src/tests/components/AccountMenuProfileEntry.spec.ts115 ['settings:display-name:updated', 'Jane Doe', 'data-name', 'Jane Doe'],CODE
LOW…tests/components/ContactsMenu/ContactMenuEntry.spec.ts18 fullName: 'Jane Doe',CODE
LOW…tests/components/ContactsMenu/ContactMenuEntry.spec.ts30 expect(avatar.props('displayName')).toBe('Jane Doe')CODE
LOW…tests/components/ContactsMenu/ContactMenuEntry.spec.ts39 fullName: 'Jane Doe',CODE
LOW…/components/UnifiedSearch/SearchResultPlaceholders.vue50 <li v-for="placeholder in [1, 2, 3]" :key="placeholder">CODE
LOW…Core/Sharing/Recipient/EmailShareRecipientTypeTest.php82 $this->assertNull($this->recipientType->getRecipientDisplayName('example@example.org', null));CODE
LOWtests/Core/Controller/LostControllerTest.php589 ->willReturn('random@example.org');CODE
LOW⚡tests/playwright/e2e/settings/personal-info.spec.ts137 await profileContactPage.setProperty('Full name', 'Jane Doe')CODE
LOW⚡tests/playwright/e2e/settings/personal-info.spec.ts140 await expect(profileContactPage.property('Full name')).toHaveValue('Jane Doe')CODE
LOW⚡tests/playwright/e2e/settings/personal-info.spec.ts148 await expect(page.getByRole('heading', { name: 'Jane Doe' })).toBeVisible()CODE
LOWtests/playwright/e2e/users/users.spec.ts45 await dialog.getByLabel(/Email/).fill('john@example.org')CODE
LOWtests/playwright/e2e/users/users-modify.spec.ts22 await displayNameInput.fill('John Doe')CODE
LOWtests/playwright/e2e/users/users-modify.spec.ts31 expect(info?.display_name).toBe('John Doe')CODE
LOW…s/playwright/e2e/workflowengine/admin-settings.spec.ts143 await expect(rule.valueInput()).toHaveAttribute('placeholder', '::1/128')CODE
LOW…ht/e2e/files_sharing/reshare-permission-bundle.spec.ts35 await sharingTab.pickRecipient('reshare@example.org', { external: true })CODE
LOW…ht/e2e/files_sharing/reshare-permission-bundle.spec.ts45 await sharingTab.pickRecipient('owned@example.org', { external: true })CODE
LOW…ht/e2e/files_sharing/reshare-permission-bundle.spec.ts60 await sharingTab.pickRecipient('custom-reshare@example.org', { external: true })CODE
LOW…ht/e2e/files_sharing/reshare-permission-bundle.spec.ts69 await sharingTab.pickRecipient('custom-owned@example.org', { external: true })CODE
LOW…t/e2e/files_sharing/public-share/header-avatar.spec.ts30 await publicShare.setPublicName('John Doe')CODE
LOW…t/e2e/files_sharing/public-share/header-avatar.spec.ts44 await publicShare.setPublicName('Jane Doe')CODE
LOWtests/lib/ImageTest.php57 $text = base64_encode('Lorem ipsum dolor sir amet …');CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php92 'placeholder' => 'Enter text setting', // placeholderCODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php100 'placeholder' => 'Enter email',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php108 'placeholder' => 'Enter your tel',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php116 'placeholder' => 'Enter url',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php124 'placeholder' => 'Enter number value',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php132 'placeholder' => 'Set secure value',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php141 'placeholder' => 'Select some option setting',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php205 'placeholder' => 'Set secure value',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php215 'placeholder' => 'Set secure value',CODE
LOW⚡tests/lib/Settings/DeclarativeManagerTest.php225 'placeholder' => 'Set secure value',CODE
LOWtests/lib/Settings/DeclarativeManagerTest.php58 'placeholder' => 'Select some multiple options', // input placeholderCODE
LOWtests/lib/Settings/DeclarativeManagerTest.php66 'placeholder' => 'Select single option, test interval',CODE
LOWtests/lib/Settings/DeclarativeManagerTest.php347 'placeholder' => 'Select some multiple options',CODE
LOWtests/lib/Settings/DeclarativeManagerTest.php372 'placeholder' => 'Some invalid field placeholder',CODE
LOWtests/lib/Settings/DeclarativeManagerTest.php435 'placeholder' => 'Select some multiple options',CODE
LOW…s/lib/Collaboration/Collaborators/RemotePluginTest.php209 'FN' => 'John Doe',CODE
LOW…sts/lib/Collaboration/Collaborators/MailPluginTest.php453 'EMAIL' => ['test@example.org'],CODE
LOW…sts/lib/Collaboration/Collaborators/MailPluginTest.php491 'EMAIL' => ['test@example.org'],CODE
LOW…sts/lib/Collaboration/Collaborators/MailPluginTest.php787 'EMAIL' => ['test@example.org'],CODE
LOW…sts/lib/Collaboration/Collaborators/MailPluginTest.php827 'EMAIL' => ['test@example.org'],CODE
LOWtests/lib/Comments/CommentTest.php168 ['type' => 'user', 'id' => 'foo@bar.com'],CODE
LOW⚡…/lib/Install/Events/InstallationCompletedEventTest.php18 $adminEmail = 'admin@example.com';CODE
LOW⚡…/lib/Install/Events/InstallationCompletedEventTest.php54 $adminEmail = 'admin@example.com';CODE
LOW⚡…/lib/Install/Events/InstallationCompletedEventTest.php65 $event = new InstallationCompletedEvent('/path/to/data', null, 'admin@example.com');CODE
LOW⚡…/lib/Install/Events/InstallationCompletedEventTest.php69 $this->assertEquals('admin@example.com', $event->getAdminEmail());CODE
LOW⚡…/lib/Install/Events/InstallationCompletedEventTest.php81 $email = 'admin@example.com';CODE
LOWtests/lib/Config/UserConfigMigrationFallbackTest.php99 ['appid' => 'settings', 'configkey' => 'email', 'configvalue' => 'user@example.com'],CODE
LOWtests/lib/Config/UserConfigMigrationFallbackTest.php114 $this->assertSame('user@example.com', $value);CODE
LOWtests/lib/Config/UserConfigMigrationFallbackTest.php170 $userConfig->setValueString('user1', 'settings', 'email', 'user@example.com');CODE
LOW⚡tests/lib/Security/CryptoTest.php20 ['Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.'],CODE
219 more matches not shown…
Decorative Section Separators23 hits · 72 pts
SeverityFileLineSnippetContext
MEDIUMtests/playwright/support/sections/SettingsUsersPage.ts29 // ── Sidebar navigation ──────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/support/sections/SettingsUsersPage.ts49 // ── User list ────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/support/sections/SettingsUsersPage.ts59 // ── Dialogs ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…ywright/support/sections/ProfileContactSettingsPage.ts57 // ── Text properties ─────────────────────────────────────────────────────────COMMENT
MEDIUM…ywright/support/sections/ProfileContactSettingsPage.ts79 // ── Visibility and scope ────────────────────────────────────────────────────COMMENT
MEDIUM…ywright/support/sections/ProfileContactSettingsPage.ts255 // ── Profile ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ywright/support/sections/ProfileContactSettingsPage.ts272 // ── Email addresses ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts21 // ── Profile ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts55 // ── Primary email ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts98 // ── Additional emails ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/playwright/e2e/settings/personal-info.spec.ts132 // ── Full name ─────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/playwright/e2e/settings/personal-info.spec.ts151 // ── Phone number ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts201 // ── Website ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts226 // ── Fediverse ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts261 // ── Profile properties (any value, all scopes) ────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts292 // ── Non-federated properties (local and private only) ─────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts325 // ── Profile visibility ────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/settings/personal-info.spec.ts337 // ── Language & locale ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/users/users-groups.spec.ts16// ── Create group ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/users/users-groups.spec.ts38// ── Assign user to group ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/users/users-groups.spec.ts81// ── Delete an empty group ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/users/users-groups.spec.ts118// ── Delete a non-empty group ──────────────────────────────────────────────────COMMENT
MEDIUMtests/playwright/e2e/users/users-groups.spec.ts157// ── Sort groups ───────────────────────────────────────────────────────────────COMMENT
Synthetic Comment Markers8 hits · 59 pts
SeverityFileLineSnippetContext
HIGHAGENTS.md103See [HowToApplyALicense.md](https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md) for detailCODE
HIGHlib/public/SystemTag/ISystemTagObjectMapper.php86 * Assign the "Generated by AI" tag to the given object.COMMENT
HIGHlib/public/SystemTag/ISystemTag.php43 public const GENERATED_BY_AI = 'Generated by AI';CODE
HIGH⚡apps/theming/lib/Themes/DefaultTheme.php201 // Assistant colors (marking AI generated content)COMMENT
HIGH⚡apps/theming/lib/Themes/DefaultTheme.php202 '--color-background-assistant' => '#F6F5FF', // Background for AI generated contentCODE
HIGH⚡apps/theming/lib/Themes/DefaultTheme.php202 '--color-background-assistant' => '#F6F5FF', // Background for AI generated contentCODE
HIGH⚡apps/theming/lib/Themes/DefaultTheme.php203 '--color-border-assistant' => 'linear-gradient(125deg, #7398FE 50%, #6104A4 125%)', // Border for AI generated contenCODE
HIGH⚡apps/theming/lib/Themes/DefaultTheme.php203 '--color-border-assistant' => 'linear-gradient(125deg, #7398FE 50%, #6104A4 125%)', // Border for AI generated contenCODE
Over-Commented Block32 hits · 32 pts
SeverityFileLineSnippetContext
LOWautotest-external.sh241# start test executionCOMMENT
LOWautotest-external.sh261# - grant all on oc_autotest0.* to 'oc_autotest0'@'localhost';COMMENT
LOWautotest.sh441#COMMENT
LOWcore/Migrations/Version24000Date20220404230027.php21 /**COMMENT
LOWcore/Migrations/Version24000Date20220404230027.php41 // $table->addColumn('value', Types::TEXT, [COMMENT
LOWcore/Migrations/Version27000Date20230309104325.php61 // $schema = $schemaClosure();COMMENT
LOWcore/Migrations/Version23000Date20210906132259.php21 * @return null|ISchemaWrapperCOMMENT
LOWcore/Migrations/Version23000Date20210906132259.php41 // $table->addColumn('delete_after', Types::DATETIME, [COMMENT
LOWcore/Migrations/Version28000Date20231126110901.php41 // if ($table->hasColumn('lazy')) {COMMENT
LOWcore/Migrations/Version29000Date20231126110901.php41 // $table->addColumn('type', Types::INTEGER, ['notnull' => true, 'default' => 2]);COMMENT
LOWcore/Migrations/Version13000Date20170718121200.php881 // $table = $schema->createTable('credentials');COMMENT
LOWcore/css/header.scss141 // On the entry, not this container: an outer margin here would widen thisCOMMENT
LOWtests/lib/Encryption/ManagerTest.php181 // /**COMMENT
LOWtests/lib/Encryption/ManagerTest.php201 // $em->expects($this->any())->method('getId')->willReturn(0);COMMENT
LOWtests/lib/Encryption/ManagerTest.php221 // $m->registerEncryptionModule($em);COMMENT
LOW.devcontainer/entrypoint.sh1#!/bin/bashCOMMENT
LOWlib/public/OCM/IOCMProvider.php221 * @return stringCOMMENT
LOWlib/private/Encryption/Keys/Storage.php121 */COMMENT
LOWlib/private/Files/Cache/QuerySearchHelper.php141 * @param array<T, ICache> $cachesCOMMENT
LOWlib/private/DB/QueryBuilder/QueryBuilder.php181 // likely an error during conversion of $value to stringCOMMENT
LOWapps/encryption/lib/Crypto/Encryption.php281 $encrypted = '';COMMENT
LOW…haring/lib/Migration/Version1000Date20260731171922.php21use OCP\Migration\Attributes\IndexType;COMMENT
LOWapps/user_ldap/lib/Access.php1861 // The format of a SID binary string is as follows:COMMENT
LOW…sting/lib/Migration/Version30000Date20240102030405.php21use OCP\Migration\IOutput;COMMENT
LOWapps/files/src/components/VirtualList.vue361COMMENT
LOWapps/files/src/components/FileEntryMixin.ts481 // Caching the selectionCOMMENT
LOWapps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php41 // (e.g. propfind for tags with string instead of int)COMMENT
LOWapps/dav/lib/CalDAV/Schedule/IMipService.php241 $endTime = null;COMMENT
LOWapps/dav/lib/CalDAV/Schedule/IMipService.php381 $startTime = $this->l10n->l('time', $er->startDateTime(), ['width' => 'short']);COMMENT
LOWapps/dav/lib/CalDAV/Schedule/IMipService.php441 if ($er->recurringConcludes()) {COMMENT
LOWapps/dav/lib/CalDAV/Schedule/IMipService.php501 }COMMENT
LOWapps/dav/lib/CalDAV/Schedule/IMipService.php581 // Indicates when a calendar event will happen, shown on invitation emailsCOMMENT
Verbosity Indicators13 hits · 27 pts
SeverityFileLineSnippetContext
LOWlib/private/RedisFactory.php154 * We need to check if the current version supports extra connection parameters, otherwise the connect method will throCOMMENT
LOW⚡lib/private/L10N/Factory.php186 // Step 1: Forced language always has precedence over anything elseCOMMENT
LOW⚡lib/private/L10N/Factory.php192 // Step 2: Return cached languageCOMMENT
LOWlib/private/L10N/Factory.php222 // Step 4: Check the request headersCOMMENT
LOW⚡lib/private/L10N/Factory.php238 // Step 5: fall back to EnglishCOMMENT
LOW⚡lib/private/L10N/Factory.php244 // Step 1: Forced language always has precedence over anything elseCOMMENT
LOW⚡lib/private/L10N/Factory.php250 // Step 2: Check if we have a default languageCOMMENT
LOW⚡lib/private/L10N/Factory.php256 // Step 3: fall back to EnglishCOMMENT
LOWlib/private/Lock/DBLockingProvider.php186 // since we only keep one shared lock in the db we need to check if we have more than one shared lock locally manuallCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php139 // Step 1: Delete ALL mappings from duplicate tags that conflict with keepIdCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php143 // Step 2: Update all remaining mappings from duplicates to keepIdCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php151 // Step 3: Delete duplicate tags in bulk (safe now that mappings are gone)COMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php157 // Step 4: Sanitize the kept tag name if neededCOMMENT
Structural Annotation Overuse11 hits · 24 pts
SeverityFileLineSnippetContext
LOW⚡lib/private/L10N/Factory.php186 // Step 1: Forced language always has precedence over anything elseCOMMENT
LOW⚡lib/private/L10N/Factory.php192 // Step 2: Return cached languageCOMMENT
LOWlib/private/L10N/Factory.php222 // Step 4: Check the request headersCOMMENT
LOW⚡lib/private/L10N/Factory.php238 // Step 5: fall back to EnglishCOMMENT
LOW⚡lib/private/L10N/Factory.php244 // Step 1: Forced language always has precedence over anything elseCOMMENT
LOW⚡lib/private/L10N/Factory.php250 // Step 2: Check if we have a default languageCOMMENT
LOW⚡lib/private/L10N/Factory.php256 // Step 3: fall back to EnglishCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php139 // Step 1: Delete ALL mappings from duplicate tags that conflict with keepIdCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php143 // Step 2: Update all remaining mappings from duplicates to keepIdCOMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php151 // Step 3: Delete duplicate tags in bulk (safe now that mappings are gone)COMMENT
LOW⚡lib/private/Repair/RepairSanitizeSystemTags.php157 // Step 4: Sanitize the kept tag name if neededCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICAL…/updatenotification/src/views/AdminSettingsSection.vue450 this.groups = response.data.ocs.data.groups.sort(function(a, b) {CODE
CRITICALapps/files/src/sidebar/providers/filesStore.ts89 window.OCP.Files.Router._router.afterEach((to, from) => {CODE
Cross-Language Confusion (JS/TS)2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHapps/files/src/utils/permissions.ts15 * @return True if downloadable, false otherwiseCOMMENT
HIGHapps/files/src/utils/permissions.ts44 * @return True if syncable, false otherwiseCOMMENT
Slop Phrases6 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMtests/data/emails/new-account-email.html45 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
MEDIUMtests/data/emails/new-account-email-custom.html45 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
MEDIUMtests/data/emails/new-account-email-single-button.html45 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
MEDIUMapps/settings/tests/Mailer/NewUserMailHelperTest.php195 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
MEDIUMapps/settings/tests/Mailer/NewUserMailHelperTest.php313 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
MEDIUMapps/settings/tests/Mailer/NewUserMailHelperTest.php435 <td class="nc-pad" style="padding:16px 36px 12px"> <p class="nc-muted" style="Margin:0 0 20px;color:#5c5c5c;foCODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/update-min-supported-desktop.yml27 # Create a temporary directory for the downloaded fileCOMMENT
MEDIUM.github/workflows/update-min-supported-desktop.yml74 # Define the files to updateCOMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…/Core/Sharing/Recipient/TeamShareRecipientTypeTest.php30// TODO: Fix tests that fail when ran together with other test suitesCOMMENT
LOWapps/dav/lib/CalDAV/CalDavBackend.php1589 // TODO: implement custom event for federated calendarsCOMMENT
LOWapps/dav/lib/CalDAV/CalDavBackend.php1672 // TODO: implement custom event for federated calendarsCOMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOW.github/workflows/update-min-supported-desktop.yml78 # Check if files existCOMMENT
LOW.github/workflows/update-min-supported-desktop.yml99 # Check if any changes were madeCOMMENT
LOW.github/workflows/command-compile.yml160 # Check if there are any changes after resolving conflictsCOMMENT