AI Slop Code Risk Monitor

zammad/zammad

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

Zammad is a web based open source helpdesk/customer support system.

3.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for zammad/zammad, a Ruby project with 6,060 GitHub stars. SynthScan examined 1,125,687 lines of code across 10158 source files, recording 2870 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 3.3 (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.3
Adjusted Signal
3.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
6.1K
Stars
Ruby
Language
1.1M
Lines of Code
10.2K
Files
2.9K
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 11.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.9/100 · LOW

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

Agent Over-Engineering Ratio 7.3/100 · LOW

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

PR Review Velocity Impact 13.6/100 · LOW

Which changes need focused human review? 2870 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 15HIGH 3MEDIUM 140LOW 2712

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 2870 distinct pattern matches across 15 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 Identifiers1418 hits · 1708 pts
SeverityFileLineSnippetContext
LOW.gitlab/dependency_digest.rb496 def report_transitive_section(changes, advisories, notes)CODE
LOW.gitlab/dependency_digest.rb696 def compose_lock_diff_section(file, diff, known)CODE
LOWapp/frontend/shared/initializer/globalComponents.ts29export default function initializeGlobalComponents(app: App): void {CODE
LOWapp/frontend/shared/initializer/storeSubscriptions.ts11export default function initializeStoreSubscriptions(): void {CODE
LOWapp/frontend/shared/initializer/globalProperties.ts9export default function initializeGlobalProperties(app: App): void {CODE
LOWapp/frontend/shared/types/global.d.ts24declare function getCurrentQueryPollingConfig(): QueryPollingConfigCODE
LOW…erver/apollo/cache/utils/registerIncomingQueryMerge.ts15export default function registerIncomingQueryMerge(CODE
LOW…/cache/utils/registerNotNormalizedObjectFieldsMerge.ts8export default function registerNotNormalizedObjectFieldsMerge(CODE
LOW…d/shared/server/apollo/cache/utils/registerRedirect.ts8export default function registerIncomingQueryMerge(CODE
LOW…er/apollo/cache/utils/registerOffsetStylePagination.ts38export default function registerOffsetStylePagination(CODE
LOW…server/apollo/cache/utils/registerIncomingTypeMerge.ts11export default function registerIncomingQueryMerge(CODE
LOW…ver/apollo/cache/utils/registerRelayStylePagination.ts8export default function registerRelayStylePagination(CODE
LOW…d/components/Form/graphql/queries/formUpdater.mocks.ts11export function waitForFormUpdaterQueryCalls() {CODE
LOW…d/components/Form/graphql/queries/formUpdater.mocks.ts15export function mockFormUpdaterQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }) {CODE
LOW…/FieldFile/graphql/mutations/uploadCache/remove.api.ts15export function useFormUploadCacheRemoveMutation(options: VueApolloComposable.UseMutationOptions<Types.FormUploadCacheReCODE
LOW⚡…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts7export function mockFormUploadCacheAddMutation(defaults: Mocks.MockDefaultsValue<Types.FormUploadCacheAddMutation, TypesCODE
LOW⚡…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts11export function waitForFormUploadCacheAddMutationCalls() {CODE
LOW⚡…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts15export function mockFormUploadCacheAddMutationError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }) CODE
LOW⚡…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts7export function mockFormUploadCacheRemoveMutation(defaults: Mocks.MockDefaultsValue<Types.FormUploadCacheRemoveMutation,CODE
LOW⚡…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts11export function waitForFormUploadCacheRemoveMutationCalls() {CODE
LOW⚡…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts15export function mockFormUploadCacheRemoveMutationError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes CODE
LOW…lds/FieldFile/graphql/mutations/uploadCache/add.api.ts20export function useFormUploadCacheAddMutation(options: VueApolloComposable.UseMutationOptions<Types.FormUploadCacheAddMuCODE
LOW⚡…mpleteSearchObjectAttributeExternalDataSource.mocks.ts7export function mockAutocompleteSearchObjectAttributeExternalDataSourceQuery(defaults: Mocks.MockDefaultsValue<Types.AutCODE
LOW⚡…mpleteSearchObjectAttributeExternalDataSource.mocks.ts11export function waitForAutocompleteSearchObjectAttributeExternalDataSourceQueryCalls() {CODE
LOW⚡…mpleteSearchObjectAttributeExternalDataSource.mocks.ts15export function mockAutocompleteSearchObjectAttributeExternalDataSourceQueryError(message: string, extensions: {type: ErCODE
LOW…completeSearchObjectAttributeExternalDataSource.api.ts19export function useAutocompleteSearchObjectAttributeExternalDataSourceQuery(variables: Types.AutocompleteSearchObjectAttCODE
LOW…completeSearchObjectAttributeExternalDataSource.api.ts22export function useAutocompleteSearchObjectAttributeExternalDataSourceLazyQuery(variables?: Types.AutocompleteSearchObjeCODE
LOW⚡…/graphql/queries/autocompleteSearch/recipient.mocks.ts7export function mockAutocompleteSearchRecipientQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchRecipientCODE
LOW⚡…/graphql/queries/autocompleteSearch/recipient.mocks.ts11export function waitForAutocompleteSearchRecipientQueryCalls() {CODE
LOW⚡…/graphql/queries/autocompleteSearch/recipient.mocks.ts15export function mockAutocompleteSearchRecipientQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypCODE
LOW…nt/graphql/queries/autocompleteSearch/recipient.api.ts21export function useAutocompleteSearchRecipientQuery(variables: Types.AutocompleteSearchRecipientQueryVariables | VueCompCODE
LOW…nt/graphql/queries/autocompleteSearch/recipient.api.ts24export function useAutocompleteSearchRecipientLazyQuery(variables?: Types.AutocompleteSearchRecipientQueryVariables | VuCODE
LOW…ustomer/graphql/queries/autocompleteSearch/user.api.ts30export function useAutocompleteSearchUserQuery(variables: Types.AutocompleteSearchUserQueryVariables | VueCompositionApiCODE
LOW…ustomer/graphql/queries/autocompleteSearch/user.api.ts33export function useAutocompleteSearchUserLazyQuery(variables?: Types.AutocompleteSearchUserQueryVariables | VueCompositiCODE
LOW⚡…er/graphql/queries/autocompleteSearch/generic.mocks.ts7export function mockAutocompleteSearchGenericQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchGenericQuerCODE
LOW⚡…er/graphql/queries/autocompleteSearch/generic.mocks.ts11export function waitForAutocompleteSearchGenericQueryCalls() {CODE
LOW⚡…er/graphql/queries/autocompleteSearch/generic.mocks.ts15export function mockAutocompleteSearchGenericQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypesCODE
LOW⚡…tomer/graphql/queries/autocompleteSearch/user.mocks.ts7export function mockAutocompleteSearchUserQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchUserQuery, TypCODE
LOW⚡…tomer/graphql/queries/autocompleteSearch/user.mocks.ts11export function waitForAutocompleteSearchUserQueryCalls() {CODE
LOW⚡…tomer/graphql/queries/autocompleteSearch/user.mocks.ts15export function mockAutocompleteSearchUserQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes })CODE
LOW…omer/graphql/queries/autocompleteSearch/generic.api.ts81export function useAutocompleteSearchGenericQuery(variables: Types.AutocompleteSearchGenericQueryVariables | VueCompositCODE
LOW…omer/graphql/queries/autocompleteSearch/generic.api.ts84export function useAutocompleteSearchGenericLazyQuery(variables?: Types.AutocompleteSearchGenericQueryVariables | VueComCODE
LOW⚡…gent/graphql/queries/autocompleteSearch/agent.mocks.ts7export function mockAutocompleteSearchAgentQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchAgentQuery, TCODE
LOW⚡…gent/graphql/queries/autocompleteSearch/agent.mocks.ts11export function waitForAutocompleteSearchAgentQueryCalls() {CODE
LOW⚡…gent/graphql/queries/autocompleteSearch/agent.mocks.ts15export function mockAutocompleteSearchAgentQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }CODE
LOW…dAgent/graphql/queries/autocompleteSearch/agent.api.ts30export function useAutocompleteSearchAgentQuery(variables: Types.AutocompleteSearchAgentQueryVariables | VueCompositionACODE
LOW…dAgent/graphql/queries/autocompleteSearch/agent.api.ts33export function useAutocompleteSearchAgentLazyQuery(variables?: Types.AutocompleteSearchAgentQueryVariables | VueComposiCODE
LOW⚡…aphql/queries/autocompleteSearch/organization.mocks.ts7export function mockAutocompleteSearchOrganizationQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchOrganiCODE
LOW⚡…aphql/queries/autocompleteSearch/organization.mocks.ts11export function waitForAutocompleteSearchOrganizationQueryCalls() {CODE
LOW⚡…aphql/queries/autocompleteSearch/organization.mocks.ts15export function mockAutocompleteSearchOrganizationQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorCODE
LOW…graphql/queries/autocompleteSearch/organization.api.ts25export function useAutocompleteSearchOrganizationQuery(variables: Types.AutocompleteSearchOrganizationQueryVariables | VCODE
LOW…graphql/queries/autocompleteSearch/organization.api.ts28export function useAutocompleteSearchOrganizationLazyQuery(variables?: Types.AutocompleteSearchOrganizationQueryVariableCODE
LOW⚡…ns/knowledgeBase/suggestion/content/transform.mocks.ts7export function mockKnowledgeBaseAnswerSuggestionContentTransformMutation(defaults: Mocks.MockDefaultsValue<Types.KnowleCODE
LOW⚡…ns/knowledgeBase/suggestion/content/transform.mocks.ts11export function waitForKnowledgeBaseAnswerSuggestionContentTransformMutationCalls() {CODE
LOW⚡…ns/knowledgeBase/suggestion/content/transform.mocks.ts15export function mockKnowledgeBaseAnswerSuggestionContentTransformMutationError(message: string, extensions: {type: ErrorCODE
LOW…ions/knowledgeBase/suggestion/content/transform.api.ts29export function useKnowledgeBaseAnswerSuggestionContentTransformMutation(options: VueApolloComposable.UseMutationOptionsCODE
LOW…graphql/queries/knowledgeBase/answerSuggestions.api.ts21export function useKnowledgeBaseAnswerSuggestionsQuery(variables: Types.KnowledgeBaseAnswerSuggestionsQueryVariables | VCODE
LOW…graphql/queries/knowledgeBase/answerSuggestions.api.ts24export function useKnowledgeBaseAnswerSuggestionsLazyQuery(variables?: Types.KnowledgeBaseAnswerSuggestionsQueryVariableCODE
LOW⚡…aphql/queries/knowledgeBase/answerSuggestions.mocks.ts7export function mockKnowledgeBaseAnswerSuggestionsQuery(defaults: Mocks.MockDefaultsValue<Types.KnowledgeBaseAnswerSuggeCODE
LOW⚡…aphql/queries/knowledgeBase/answerSuggestions.mocks.ts11export function waitForKnowledgeBaseAnswerSuggestionsQueryCalls() {CODE
1358 more matches not shown…
Fake / Example Data735 hits · 722 pts
SeverityFileLineSnippetContext
LOW.gitlab/ci/review-app.yml73 "login": "admin@example.com",CODE
LOW.gitlab/ci/review-app.yml76 "email": "admin@example.com",CODE
LOW.gitlab/ci/review-app.yml91 "users": ["admin@example.com", "agent1@example.com"]CODE
LOW.gitlab/ci/review-app.yml95 "users": ["admin@example.com", "agent1@example.com"],CODE
LOW.gitlab/ci/test/api_client.yml25 ZAMMAD_PHP_API_CLIENT_UNIT_TESTS_USERNAME: "admin@example.com"CODE
LOW…s/Form/fields/FieldTreeSelect/treeselect-visuals.cy.ts36 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.'CODE
LOW…s/Form/fields/FieldTreeSelect/treeselect-visuals.cy.ts36 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.'CODE
LOW…ed/components/Form/fields/FieldTags/tags-visuals.cy.ts11 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…ed/components/Form/fields/FieldTags/tags-visuals.cy.ts11 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…nents/Form/fields/FieldTextarea/textarea-visuals.cy.ts13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…nents/Form/fields/FieldTextarea/textarea-visuals.cy.ts13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…omponents/Form/fields/FieldSelect/select-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. QuisCODE
LOW…omponents/Form/fields/FieldSelect/select-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. QuisCODE
LOW…rm/fields/FieldAutoComplete/autocomplete-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.',CODE
LOW…rm/fields/FieldAutoComplete/autocomplete-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.',CODE
LOW…FieldEditor/editor-mention-user-exit-with-escape.cy.ts34 fullname: 'John Doe',CODE
LOW…ents/Form/fields/FieldEditor/editor-mention-user.cy.ts46 fullname: 'John Doe',CODE
LOW…elds/FieldEditor/editor-mention-user-with-spaces.cy.ts34 fullname: 'John Doe',CODE
LOW…elds/FieldEditor/editor-mention-user-with-spaces.cy.ts48 .and('contain.text', 'John Doe')CODE
LOWapp/frontend/tests/support/mock-webauthn.ts40 name: 'user@example.com',CODE
LOW…/graphql/builders/__tests__/subscription-calls.spec.ts47 const fullname = 'John Doe'CODE
LOW…frontend/shared/form/features/translateWrapperProps.ts12const propsToTranslate = ['label', 'placeholder', 'help']CODE
LOW…frontend/shared/form/features/translateWrapperProps.ts13const attrsToTranslate = ['placeholder']CODE
LOW…/form/features/__tests__/translateWrapperProps.spec.ts25 props: ['label', 'placeholder', 'help'],CODE
LOWapp/frontend/shared/stores/__tests__/session.spec.ts19 fullname: 'John Doe',CODE
LOWapp/frontend/shared/stores/__tests__/session.spec.ts150 fullname: 'Jane Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts740 fullname: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts749 expect(await wrapper.findByLabelText('Customer')).toHaveTextContent('John Doe')CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts837 fullname: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts896 value: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts918 fullname: 'John Doe',CODE
LOW…m/fields/FieldPassword/__tests__/FieldPassword.spec.ts43 expect(input).not.toHaveAttribute('placeholder')CODE
LOW…m/fields/FieldPassword/__tests__/FieldPassword.spec.ts62 expect(input).toHaveAttribute('placeholder', 'Enter your password')CODE
LOW…ents/Form/fields/FieldList/__tests__/FieldList.spec.ts39 <FormKit type="text" name="email-adress" id="text" value="admin@example.com" />CODE
LOW…ents/Form/fields/FieldList/__tests__/FieldList.spec.ts52 expect(node?.value).toStrictEqual(['admin@example.com', 'admin2@example.com'])CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts41 expect(textarea).not.toHaveAttribute('placeholder')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts61 expect(textarea).toHaveAttribute('placeholder', 'Enter your body')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts116 expect(textarea).toHaveAttribute('placeholder', 'Enter your body')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts124 expect(textarea).toHaveAttribute('placeholder', 'Gib deinen Text ein')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts34 expect(input).not.toHaveAttribute('placeholder')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts53 expect(input).toHaveAttribute('placeholder', 'Enter your title')CODE
LOW⚡…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts100 value: 'admin@example.com',CODE
LOW⚡…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts109 const input = wrapper.getByDisplayValue('admin@example.com')CODE
LOW⚡…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts114 expect(node?.value).toBe('admin@example.com')CODE
LOW…nts/ObjectAttributes/__tests__/ObjectAttribute.spec.ts168 fullname: 'John Doe',CODE
LOW…nts/ObjectAttributes/__tests__/ObjectAttribute.spec.ts183 expect(view.getByText('John Doe')).toBeInTheDocument()CODE
LOW…/CommonInputSearch/__tests__/CommonInputSearch.spec.ts21 expect(search).toHaveAttribute('placeholder', 'Search…')CODE
LOW⚡…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts117 fullname: 'John Doe',CODE
LOW⚡…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts127 expect(wrapper.getByRole('listitem')).toHaveTextContent('John Doe')CODE
LOW⚡…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts134 fullname: 'Jane Doe',CODE
LOW⚡…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts141 expect(wrapper.getByRole('listitem')).toHaveTextContent('Jane Doe')CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts155 fullname: 'John Doe',CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts189 fullname: 'John Doe',CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts220 fullname: 'John Doe',CODE
LOW…sktop/components/CommonInlineEdit/CommonInlineEdit.vue380 :placeholder="placeholder"CODE
LOW…sktop/components/CommonInlineEdit/CommonInlineEdit.vue396 :placeholder="placeholder"CODE
LOW…ndDropBulk/components/__tests__/BulkScrollList.spec.ts24 label: 'John Doe',CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts97 { value: 42, label: 'John Doe', object: { id: convertToGraphQLId('User', '42') } },CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts108 expect(await wrapper.findByText('John Doe')).toBeVisible()CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts164 { value: 42, label: 'John Doe', object: { id: convertToGraphQLId('User', '42') } },CODE
675 more matches not shown…
Over-Commented Block467 hits · 466 pts
SeverityFileLineSnippetContext
LOW.markdownlint.yml1########################################COMMENT
LOW.gitlab/dependency_digest.rb1#!/usr/bin/env rubyCOMMENT
LOW.gitlab/dependency_digest.rb21# The result is posted to an incoming webhook as an attachment whose color worksCOMMENT
LOW.gitlab/configure_environment.rb1#!/usr/bin/env rubyCOMMENT
LOW.gitlab/check_native_gem_platforms.rb1#!/usr/bin/env rubyCOMMENT
LOW.gitlab/ci/automate.yml61#COMMENT
LOW.gitlab/ci/__includes__/job_rules.yml1# Rules decide whether a job is added to a pipeline at all, and if so, whether itCOMMENT
LOW.gitlab/ci/__includes__/job_rules.yml21# `extends:`. There is deliberately only one of them, see below.COMMENT
LOW.gitlab/ci/__includes__/job_rules.yml41# entry. A guard placed further down is dead code.COMMENT
LOW.gitlab/ci/__includes__/job_needs.yml1# Building blocks for `needs:`, combined per job:COMMENT
LOWapp/frontend/tests/support/mock-globalState.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…d/tests/graphql/factories/types/KnowledgeBaseAnswer.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/frontend/tests/graphql/factories/types/Checklist.ts21 // checked: false,COMMENT
LOWapp/frontend/shared/composables/useDebouncedLoading.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…tend/shared/server/apollo/utils/authenticationState.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…/frontend/shared/server/apollo/link/trackOperations.ts21COMMENT
LOWapp/frontend/shared/utils/formatter.ts141 // and e. g. convert timestamps/dates to browser localeCOMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts201 // this is done on the backend nowCOMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts221 // result = htmlCleanup(source)COMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts241 // '<div><div><div><div><div id="article-content-4"><div><div>This is a black font colour with white background</divCOMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts21// - On child re-add: restoring the previously saved _init value, so that togglingCOMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts141 // by core workflow after the form already settled). FormKit's addChildCOMMENT
LOW…ared/components/Form/fields/FieldDate/healDateRange.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…ntend/shared/entities/object-attributes/types/store.ts41export type OperatorFilterProps = Record<OperatorName, Record<string, unknown>>COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts21COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts41// communication: false,COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts61// ticket: TicketById,COMMENT
LOW…ontend/apps/desktop/composables/useSectionPageCache.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/frontend/apps/desktop/styles/custom/index.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…op/components/Form/fields/FieldFilterSelector/types.ts21 }COMMENT
LOW…CategoryIcon/FieldKnowledgeBaseCategoryIconWrapper.vue41 gqlQuery: AutocompleteSearchKnowledgeBaseCategoryIconDocument,COMMENT
LOW…nowledgeBase/KnowledgeBaseAnswerIcon/visibilityMeta.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…SetupImportSource/GuidedSetupImportSourceFreshdesk.vue41 // },COMMENT
LOW…p/pages/search/composables/useSearchAdvancedFilters.ts121 Object.fromEntries(COMMENT
LOW…d/apps/desktop/pages/search/utils/searchFilterQuery.ts81 .forEach((entry) => params.append(key, decodeURIComponent(entry)))COMMENT
LOW…/components/SearchControls/SearchEntityFiltersForm.vue81)COMMENT
LOW…p/frontend/apps/desktop/pages/knowledge-base/routes.ts61 {COMMENT
LOW…e/composables/useKnowledgeBaseCategorySubcategories.ts161 const policy = computed(() => content.value?.category?.policy)COMMENT
LOW…e/composables/useKnowledgeBaseCategorySubcategories.ts181 // Handed over by useKnowledgeBaseContentUpdates rather than taken from the store directly, so aCOMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseSearch.ts21 // The kind of content the result list shows. Only which of the two searches below is rendered:COMMENT
LOW…sables/useKnowledgeBaseAnswerNextVisibilitySchedule.ts21//COMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts221 // Not from the fragment: the read was keyed by it, so it is the id by definition - and theCOMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts241 // Anything that has to be measured against the *stored* state needs this one instead of that:COMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts261 // Pushes every edit of the answer *itself* into the cache - title and body (their translationCOMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts281 // The same field set the query asked for. Not to keep the cached body - Apollo merges aCOMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts301 computed(() =>COMMENT
LOW…s/knowledge-base/composables/useKnowledgeBaseAnswer.ts341 // answer: a knowledge-base-wide change (empty list), or one touching theCOMMENT
LOW…ages/knowledge-base/utils/knowledgeBaseCategoryGrid.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…ages/knowledge-base/utils/knowledgeBaseCategoryGrid.ts21} as constCOMMENT
LOW…swerSidebar/KnowledgeBaseAnswerScheduledVisibility.vue61// Which state it is about is named in the prompt, since the pills sit close together and eachCOMMENT
LOW…eBaseAnswerCreate/KnowledgeBaseAnswerCreateContent.vue61// form updater.COMMENT
LOW…eBaseAnswerCreate/KnowledgeBaseAnswerCreateContent.vue121// nothing and no draft is kept.COMMENT
LOW…geBaseAnswerCreate/KnowledgeBaseAnswerCreateHeader.vue21import { useKnowledgeBaseHeaderLocales } from '../KnowledgeBaseTopBarHeader/useKnowledgeBaseHeaderLocales.ts'COMMENT
LOW…geBaseAnswerCreate/KnowledgeBaseAnswerCreateHeader.vue81// form field, and picking one the editor never browsed means a round trip: unlike the browseCOMMENT
LOW…wledgeBaseAnswerEdit/KnowledgeBaseAnswerEditHeader.vue21COMMENT
LOW…wledgeBaseAnswerEdit/KnowledgeBaseAnswerEditHeader.vue81//COMMENT
LOW…ledgeBaseAnswerEdit/KnowledgeBaseAnswerEditContent.vue281 // The rule the initial seeding follows, for the same reason (see `initialEntityObject`): in aCOMMENT
LOW…seAnswerEdit/useKnowledgeBaseAnswerConcurrentChange.ts21COMMENT
407 more matches not shown…
Modern AI Meta-Vocabulary69 hits · 220 pts
SeverityFileLineSnippetContext
MEDIUM.gitlab/dependency_digest.rb62 LLM_NUM_CTX = Integer(ENV.fetch('LLM_NUM_CTX', '65536')) # context window requested from OllamaCODE
MEDIUM.gitlab/ci/automate.yml77# LLM_NUM_CTX / LLM_TIMEOUT - context window (default 65536) / request timeout in s (default 900)COMMENT
MEDIUMapp/models/ai/provider_connection.rb18 # The two config values that describe the embedding model in numbers, with the message for aCOMMENT
MEDIUMapp/models/ai/provider_connection.rb279 # What the empty option of the dialog's embedding model dropdown promised, written into the configCOMMENT
MEDIUMapp/models/ai/provider_connection.rb335 # How long the vectors of the embedding model are and how many tokens it takes at once: numbersCOMMENT
MEDIUMapp/models/ai/provider_connection.rb390 # The embedding model of a provider that serves a fixed one (Zammad AI) is not part of its config:COMMENT
MEDIUMapp/models/setting/validation/vectordb.rb12 # has configured an embedding model perfectly well that they have not. The two conditionsCOMMENT
MEDIUM…/types/ticket/ai/related_knowledge_base_answer_type.rb11 # current embedding model, so a normalised relevance would be more meaningful.COMMENT
MEDIUMapp/controllers/ai/provider_connections_controller.rb82 # The dimensions and the input limit of one embedding model, for the fields the dialog fillsCOMMENT
MEDIUMapp/services/service/ai/vectordb/embedding/cache.rb17 # embedding model the vectors were produced with.COMMENT
MEDIUMapp/services/service/ai/vectordb/embedding/cache.rb39 # Map key for a chunk. Includes the embedding model so a model change misses (and re-embeds)COMMENT
MEDIUM…ervices/service/ai/vectordb/embedding/configuration.rb80 # (AI::ProviderConnection#remove_unconfigurable_embedding_model), so an embedding model thatCOMMENT
MEDIUMapp/services/service/ai/vectordb/content/chunks.rb7 # @param model_max_tokens [Integer, nil] the embedding model's hard input limit (a ceiling onCOMMENT
MEDIUM…es/service/ai/vectordb/content/chunks/strategy/base.rb7 # options); the embedding model's input limit (model_max_tokens) is only a hard ceiling that capsCOMMENT
MEDIUM…es/service/ai/vectordb/content/chunks/strategy/base.rb38 # @param model_max_tokens [Integer, nil] the embedding model's hard input limit. Only caps theCOMMENT
MEDIUM…rvice/ai/vectordb/content/chunks/strategy/recursive.rb5# token-sized windows with overlap, so no chunk exceeds the embedding model's input limit. TokenCOMMENT
MEDIUMapp/services/service/ai/vectordb/document/upsert.rb47 # embedding model's input limit only caps the chunk size; the strategy picks the actual size.COMMENT
MEDIUMapp/services/service/ai/ticket/embed_content.rb6 # within the embedding model's context window, and returns the embedding vector.COMMENT
MEDIUMapp/services/service/ai/ticket/embed_content.rb6 # within the embedding model's context window, and returns the embedding vector.COMMENT
MEDIUM…services/service/ai/provider_connection/list_models.rb21 # How long the listing's verdict on the recommended embedding model outlives the listing thatCOMMENT
MEDIUM…services/service/ai/provider_connection/list_models.rb49 # the metadata of the recommended embedding model ({ models:, default_model:,COMMENT
MEDIUM…services/service/ai/provider_connection/list_models.rb81 # embedding model - the decision the dialog acted on when it offered no model for the empty optionCOMMENT
MEDIUM…t/ai/related_knowledge_base_answers/embedding_cache.rb14 # Everything cached here was produced by whatever embedding model served at the time, and is onlyCOMMENT
MEDIUMconfig/routes/ai_provider_connection.rb20 # Same reasoning for the metadata of one embedding model, which the dialog asks for where theCOMMENT
MEDIUM…/integration/ai/related_knowledge_base_answers_spec.rb79 # would demand a sharper embedding model than the current one actually provides.COMMENT
MEDIUMspec/models/ai/provider_connection_spec.rb21 # The embedding model used to be resolved from the adapter at request time, so the connectionCOMMENT
MEDIUMspec/models/ai/provider_connection_spec.rb244 # The blank embedding model is stripped like any other; what is left is the recommendationCOMMENT
MEDIUMspec/models/setting/validation/vectordb_spec.rb37 # embedding model is configured when one is would send them looking in the wrong place.COMMENT
MEDIUMspec/requests/ai/provider_connections_spec.rb221 # The embedding model travels along, because this connection serves embeddings and a configCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb131 # So neither field arrives filled, and nothing describing an embedding model is askedCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb204 # The embedding model keeps its empty option: leaving it unnamed is a valid answer thatCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb549 # A listing without an embedding model in it is an answer, not a gap: the provider servesCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb578 # The listing said the provider serves no embedding model, so the seeding respects theCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb586 # This listing carries an embedding model, just not that one - so the option names no model,COMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb792 # No embedding model field: the service serves a fixed one, so there is nothing to pick.COMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb895 # stored embedding model was sized on the way through.COMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb903 # The connection serving semantic search cannot save without an embedding modelCOMMENT
MEDIUMspec/system/admin/ai/provider_connections_spec.rb1099 # Through both wizard steps to the model step, which is where the embedding model lives.COMMENT
MEDIUMspec/lib/ai/provider_spec.rb330 # There is no default to apply for the embedding model: it is whatever the connection names.COMMENT
MEDIUMspec/lib/ai/provider/embeddings_spec.rb6# in a regular pipeline - the embedding request of a provider that has no embedding model of its ownCOMMENT
MEDIUMspec/lib/ai/provider/embeddings_spec.rb157 # Unlike the hosted providers, a custom endpoint has no embedding model to fall back to: itsCOMMENT
MEDIUMspec/lib/ai/provider/models_spec.rb125 # What OpenAI does not report about an embedding model comes from the provider's table ofCOMMENT
MEDIUMspec/lib/ai/provider/models_spec.rb245 # The context window Mistral reports for a chat modelCOMMENT
MEDIUMspec/lib/ai/provider/models_spec.rb306 # and its context window is not embedding metadata.COMMENT
MEDIUMspec/lib/ai/provider/models_spec.rb405 # A custom endpoint embeds too, so an embedding modelCOMMENT
MEDIUMspec/db/migrate/create_ai_provider_connections_spec.rb37 # Plus the embedding model the seeding names for the connection it flags for embeddings.COMMENT
MEDIUMspec/services/service/ai/vectordb/create_table_spec.rb134 # Reachable for a connection whose embedding model was cleared behind the dialog's back, e.g.COMMENT
MEDIUM…ces/service/ai/provider_connection/list_models_spec.rb310 # What the seeding of the embedding model reads (AI::ProviderConnection#seed_recommended_embedding_model):COMMENT
MEDIUMlib/ai/provider.rb42 # Conservative input-token limit for an embedding model not listed in EMBEDDING_INPUT_LIMITS —COMMENT
MEDIUM⚡lib/ai/provider.rb176 # The embedding model to recommend for this provider: what the connection dialog pre-selects,COMMENT
MEDIUM⚡lib/ai/provider.rb180 # resolve an embedding model at request time - invisible in the admin UI and moving under theCOMMENT
MEDIUM⚡lib/ai/provider.rb189 # The embedding model of a provider whose model is not part of the connection config at all:COMMENT
MEDIUM⚡lib/ai/provider.rb198 # The value the shared table of known embedding model defaults holds for a modelCOMMENT
MEDIUM⚡lib/ai/provider.rb297 # The embedding model to embed with: the configured one, or the fixed one of a provider whoseCOMMENT
MEDIUM⚡lib/ai/provider.rb300 # @return [String, NilClass] the embedding modelCOMMENT
MEDIUM⚡lib/ai/provider.rb310 # @return [String] the embedding modelCOMMENT
MEDIUM⚡lib/ai/provider.rb317 # The length of the vectors the configured embedding model produces: what the index mapping isCOMMENT
MEDIUMlib/ai/provider.rb333 # Maximum number of input tokens the configured embedding model accepts. Used to size chunks soCOMMENT
MEDIUMlib/ai/provider/ollama.rb127 # Both sizes survive for an embedding model only; model_descriptor applies that ruleCOMMENT
MEDIUMlib/ai/provider/zammad_ai.rb11 # Which makes this the one embedding model that changes without a connection being saved - soCOMMENT
9 more matches not shown…
Self-Referential Comments61 hits · 192 pts
SeverityFileLineSnippetContext
MEDIUM.gitlab/database.rb73 # Create the database if it does not exist yet. An already existing database is reset byCOMMENT
MEDIUM.gitlab/ci/__includes__/job_rules.yml5# This file provides two kinds of building blocks, which must not be confused:COMMENT
MEDIUMapp/models/active_job_lock.rb24 # This method is used to find the Delayed::Job record representing the ActiveJob associated with this lock.COMMENT
MEDIUMapp/models/channel/driver/base_email_inbound.rb169 # This method is used for custom IMAP only.COMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb16 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM⚡…channel/driver/base_email_inbound/message_validator.rb30 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM⚡…channel/driver/base_email_inbound/message_validator.rb38 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM⚡…channel/driver/base_email_inbound/message_validator.rb48 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb67 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUMapp/policies/ticket_policy.rb40 # This method is used to check if a follow-up is possible (mostly based on the configuration).COMMENT
MEDIUMapp/graphql/gql/types/base_cached_connection.rb7 # This class represents a connection with special behaviour. It provides a signature value of the current collectionCOMMENT
MEDIUMapp/graphql/gql/types/enum/base_enum.rb7 # Create an enum type from a list of classes.COMMENT
MEDIUMapp/graphql/gql/types/enum/base_enum.rb14 # Create an enum type from a list of strings.COMMENT
MEDIUMapp/graphql/gql/concerns/handles_authorization.rb25 # This method is used by GraphQL to perform authorization on the various objects.COMMENT
MEDIUMapp/jobs/application_job.rb34 # This method is used to find the Delayed::Job record representing the ActiveJob with the given active_job_id.COMMENT
MEDIUMapp/controllers/sessions_controller.rb116 # Create a new user or add an auth to existing user, depending onCOMMENT
MEDIUM…rvices/service/template/interpolation/engine/parser.rb4 # This module is used to scan, collect all replacment variables within aCOMMENT
MEDIUMapp/services/service/link/list.rb13 # Create a list of object related references filtered by target typeCOMMENT
MEDIUMapp/services/service/history/group.rb3# Create a list of grouped history records by given interval and issuer for aCOMMENT
MEDIUMapp/services/service/history/list.rb3# Create a list of history events for a given object.COMMENT
MEDIUMconfig/cable.yml1# This file is not used by Zammad, configuration happens in:COMMENT
MEDIUMconfig/initializers/wrap_parameters.rb5# This file contains settings for ActionController::ParamsWrapper whichCOMMENT
MEDIUMconfig/initializers/permissions_policy.rb5# Define an application-wide HTTP permissions policy. For furtherCOMMENT
MEDIUMconfig/initializers/content_security_policy.rb5# Define an application-wide content security policyCOMMENT
MEDIUMspec/rails_helper.rb3# This file is copied to spec/ when you run 'rails generate rspec:install'COMMENT
MEDIUMspec/models/user_spec.rb467 # Create the agent, before the default notifications are set, soCOMMENT
MEDIUMspec/models/user_spec.rb499 # Create the customer, before the default notifications are set, soCOMMENT
MEDIUMspec/models/knowledge_base/answer/translation_spec.rb356 # Creating the answer schedules a reindex of its own, so the examples below start from a cleanCOMMENT
MEDIUMspec/requests/ticket_spec.rb1712 # Create an online notification for the ticket owner (not the agent doing the update)COMMENT
MEDIUMspec/requests/knowledge_base/deactivated_role_spec.rb123 # Creating a top level category and ordering the root list both resolve their access against theCOMMENT
MEDIUM…ec/requests/knowledge_base/search_with_details_spec.rb107 # Create a alternative knowledge base locale.COMMENT
MEDIUMspec/system/system/object_manager_spec.rb161 # Create the field via API.COMMENT
MEDIUMspec/system/scenarios/ticket_links_spec.rb32 # Create the link via the sidebar modal.COMMENT
MEDIUMspec/system/ticket/zoom/email_reply_body_spec.rb19 # Create a ticket article with a specific timestamp and customer origin.COMMENT
MEDIUM…/mobile_old/tickets/articles/list_subscription_spec.rb195 # Create the new article with its final body and wait until it is rendered.COMMENT
MEDIUM…/mobile_old/tickets/articles/list_subscription_spec.rb221 # Create the new articles one by one with their final body and wait until they are rendered.COMMENT
MEDIUMspec/system/apps/desktop/ticket/shared_drafts_spec.rb58 # Create an internal note for agent2COMMENT
MEDIUMspec/system/apps/desktop/ticket/shared_drafts_spec.rb123 # Create an internal note for agent1COMMENT
MEDIUMspec/support/request.rb132 # The following methods are self explaining and are just shorter aliases.COMMENT
MEDIUMspec/support/graphql.rb87 # Create a mock channel that can be passed to graphql_execute like this:COMMENT
MEDIUMspec/support/capybara/selectors.rb3# This file defines custom Capybara selectors for DRYed specs.COMMENT
MEDIUMspec/support/capybara/browser_test_helper.rb393 # This method is a derivation of #untilCOMMENT
MEDIUMspec/support/capybara/browser_test_helper.rb413 # This method is a derivation of #untilCOMMENT
MEDIUMspec/support/capybara/common_actions.rb253 # This method is equivalent to Capybara::RSpecMatchers#have_current_pathCOMMENT
MEDIUM⚡spec/support/capybara/common_actions.rb298 # Create a select attribute:COMMENT
MEDIUM⚡spec/support/capybara/common_actions.rb302 # Create a required text attribute:COMMENT
MEDIUM⚡spec/support/capybara/common_actions.rb306 # Create a date attribute with custom parameters:COMMENT
MEDIUMspec/graphql/gql/mutations/login_spec.rb95 # Create the user before the GraphQL query execution, so that we have only the activity streamCOMMENT
MEDIUMspec/jobs/ticket_online_notification_seen_job_spec.rb29 # Create an online notification for the mentioned user on the same ticketCOMMENT
MEDIUMspec/services/service/ai/agent/run_spec.rb276 # Create the custom category attributeCOMMENT
MEDIUMspec/services/service/ai/agent/run_spec.rb432 # Create the multiselect attributeCOMMENT
MEDIUMlib/assets_set.rb8# This class implements a collection of Zammad Assets with no duplicates.COMMENT
MEDIUMlib/assets_set.rb46 # This method is used to convert the AssetsSet into a regular Hash which then can be send to the client.COMMENT
MEDIUM…support/lib/active_support/tagged_logging/formatter.rb25 # This method is invoked when a log event occurs.COMMENT
MEDIUMlib/zammad/service/configuration.rb6 # This module provides a method to parse a Zammad third-party serviceCOMMENT
MEDIUMlib/assets_set/proxy.rb3# This class defines a Proxy for accessing objects inside of a AssetsSet Model sub structure.COMMENT
MEDIUMlib/sequencer/unit/base.rb167 # This method is the heart of the #uses and #provides method.COMMENT
MEDIUMlib/sequencer/unit/base.rb207 # This method is the attribute store for the given declaration key.COMMENT
MEDIUMlib/sequencer/unit/base.rb237 # This method is an instance wrapper around the class method .instance_variable_cached.COMMENT
MEDIUMlib/sequencer/unit/base.rb244 # This method is an convenience wrapper to create an instanceCOMMENT
1 more matches not shown…
Hallucination Indicators15 hits · 165 pts
SeverityFileLineSnippetContext
CRITICAL…frontend/shared/components/Form/__tests__/Form.spec.ts1391 const calls = mockFormUpdaterApi.spies.behave.mock.calls.slice(initialCallCount)CODE
CRITICAL…an_selector/advanced_sorting/base_select_field_sort.rb36 cache_prefix = self.class.name.demodulize.tableize.tr('_', '-')CODE
CRITICALapp/assets/javascripts/app/lib/core/jquery-3.6.0.js8092jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {CODE
CRITICAL…ssets/javascripts/app/lib/bootstrap/popover-enhance.js26 $.fn.popover.Constructor.prototype.leave.call(self, self);CODE
CRITICALapp/assets/javascripts/app/lib/base/codemirror.js8936 return this.cm.display.wrapper.ownerDocument.getSelection()CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js118 self.options.layout.container.style.apply($(self.options.layout.container.selector), [self.options.within]);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js123 self.options.theme.callback.onShow.apply(this);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js270 self.options.theme.callback.onClose.apply(self);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js283 self.options.theme.callback.onClose.apply(self);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js311 this.options.theme.callback.onShow.apply(this);CODE
CRITICAL⚡config/initializers/content_type_allowed_inline.rb4Rails.application.config.active_storage.content_types_allowed_inline.delete('application/pdf')CODE
CRITICAL⚡config/initializers/content_type_allowed_inline.rb7Rails.application.config.active_storage.content_types_allowed_inline.push('image/jpg')CODE
CRITICAL⚡config/initializers/content_type_allowed_inline.rb13Rails.application.config.active_storage.content_types_to_serve_as_binary.push(CODE
CRITICALpublic/assets/form/jquery-3.6.0.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALpublic/assets/chat/jquery-3.6.0.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Redundant / Tautological Comments32 hits · 47 pts
SeverityFileLineSnippetContext
LOW.gitlab/ci/review-app.yml46 # Check if containers were previously created, so that this is an update deploymentCOMMENT
LOWapp/models/mention.rb62 # Check if user is subscribed to given objectCOMMENT
LOWapp/models/mention.rb107 # Check if given user is able to subscribe to a given objectCOMMENT
LOWapp/models/setting.rb114 # Check if last last lookup was recent enoughCOMMENT
LOWapp/models/channel/filter/reply_to_based_sender.rb12 # Check if the reply-to address can be parsed and otherwise skip the filter.COMMENT
LOWapp/models/ticket/article.rb431 # Check if article type is emailCOMMENT
LOWapp/models/concerns/has_roles.rb67 # Check if the new role for the user has "ticket.agent" permission.COMMENT
LOWapp/policies/group_policy.rb34 # Check if user is customer for any tickets in this group.COMMENT
LOWapp/graphql/gql/mutations/base_mutation.rb22 # Set this to false for mutations that don't need CSRF verification.COMMENT
LOWapp/graphql/gql/fields/scoped_field.rb26 # Check if the pundit result is a 'FieldScope' object.COMMENT
LOWapp/services/service/ai/agent/run/perform/agent.rb84 # Check if the key exists in ai_result_contentCOMMENT
LOWconfig/environments/production.rb73 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWspec/requests/user_spec.rb1439 # Check if ES is usedCOMMENT
LOWspec/system/ticket/idoit_spec.rb90 # Check if the item is still gone after reload.COMMENT
LOWspec/system/ticket/view_spec.rb370 # Check if still only one article exists on the ticket.COMMENT
LOWspec/system/manage/overviews_expert_conditions_spec.rb300 # Check if the State attribute is disabled in the new dropdown.COMMENT
LOWspec/system/apps/mobile/login_spec.rb67 # Check if we are already in mobile.COMMENT
LOWspec/db/migrate/password_settings_change_type_spec.rb170 include(name: 'pkce', tag: 'boolean', display: 'PKCE'), # Check if migration was OKCODE
LOWspec/db/migrate/password_settings_change_type_spec.rb171 include(display: 'Scopes') # Check if the rest of form values are not lostCODE
LOWcontrib/edit-icon-license-list.php144# Add images to arrayCOMMENT
LOWlib/background_services.rb67 # Check if child processes are still alive, terminate the main process otherwise toCOMMENT
LOWlib/password_policy.rb3# Check if password matches system settingsCOMMENT
LOWlib/external_credential/microsoft_base.rb114 # Check if current user of the channel is matching the user from the token.COMMENT
LOWlib/external_credential/microsoft_base.rb151 # Check if a bound address with the same email already exists.COMMENT
LOWlib/sessions/event/maintenance.rb21 # Check if the event contains the maintenance message and sanitize it.COMMENT
LOWlib/html_sanitizer/scrubber/inline_images.rb59 # Check if the current user is presentCOMMENT
LOWlib/text/quote_remover.rb117 # Check if more > lines follow after empty linesCOMMENT
LOWlib/text/quote_remover.rb130 # Check if there's real user content after the given indexCOMMENT
LOWlib/text/quote_remover/signature.rb8 # Check if a line matches this signature patternCOMMENT
LOWlib/text/quote_remover/attribution_pattern.rb13 # Check if a line matches this patternCOMMENT
LOW…t/quote_remover/attribution_pattern/ms_header_block.rb51 # Check if lines at given index form a Microsoft header blockCOMMENT
LOWlib/import/otrs/dynamic_field/mixin/has_options.rb17 # Assign name to the last segmentCOMMENT
AI Slop Vocabulary19 hits · 39 pts
SeverityFileLineSnippetContext
MEDIUMapp/models/channel/driver/base_email_inbound.rb170 # It is not used in conjunction with Micrsofot365 or Gogle OAuth channels.COMMENT
LOWapp/models/concerns/checks_human_changes.rb25 # If no config exists, use all attributes or if config exists, just useCOMMENT
LOWapp/graphql/gql/fields/scoped_field.rb17 # If a field is not authorized, just return 'nil' rather than throwing a GraphQL error.COMMENT
MEDIUMapp/assets/javascripts/app/lib/core/jquery-3.6.0.js10830// understands anonymous AMD modules. A named AMD is safest and most robustCOMMENT
MEDIUMapp/assets/javascripts/app/lib/base/seedrandom.js144 // For robust unpredictability, the function call below automaticallyCOMMENT
LOW…service/system/set_email_notification_configuration.rb23 # At some point it may be good to clean this up to simply use a single instanceCOMMENT
MEDIUM…rvice/ai/vectordb/content/chunks/strategy/recursive.rb7# stays robust for no-space scripts (CJK/Thai) where a whole paragraph is otherwise one "word".COMMENT
MEDIUMtest/data/mail/mail047.yml25 <br><br><table border="0" cellspacing="2" cellpadding="0"><tbody><tr><td valign="top">Ihre </td><td></td></tr></tbody>CODE
MEDIUMtest/data/mail/mail047.yml25 <br><br><table border="0" cellspacing="2" cellpadding="0"><tbody><tr><td valign="top">Ihre </td><td></td></tr></tbody>CODE
LOWspec/models/system_report_spec.rb276 # If your setting does not contain confidential values, just add it to the non_confidential_settings variable liCOMMENT
MEDIUMspec/system/scenarios/text_modules_spec.rb59 # harness (verified empirically - same reason the text module examples use aCOMMENT
LOWspec/lib/application_handle_info_spec.rb9 # Q: So why don't we just use it here to DRY things up?COMMENT
LOW⚡lib/notification_factory/renderer.rb92 # if no object is given, just returnCOMMENT
LOW⚡lib/notification_factory/renderer.rb97 # if object is not in available objects, just returnCOMMENT
LOW⚡lib/notification_factory/renderer.rb104 # if content of method is a complex datatype, just returnCOMMENT
LOWlib/assets_set/proxy.rb22# to the lookup table will be performed which will will just return `true` to satisfy theCOMMENT
LOW…uencer/unit/import/common/model/associations/assign.rb38 # Why not just use instance.changes?COMMENT
LOWlib/service/image.rb37 file = Service::Image.organization('user@edenhofer.de') # will just use domainCODE
LOWlib/service/image/zammad.rb49 # strip, just use domain nameCOMMENT
Slop Phrases13 hits · 24 pts
SeverityFileLineSnippetContext
LOWapp/frontend/shared/sw/register.ts39 // don't forget to unregister the service worker when you are done: `sw.unregister()`COMMENT
LOWapp/frontend/apps/desktop/styles/transitions.css2 * Don't forget to add the mapping to the TransitionName enum in useTransitionConfig.ts when adding a new transition.COMMENT
LOWapp/models/channel/driver/imap.rb164 # Select folder, but make sure to encode the string value as UTF-7 first (#5480).COMMENT
LOWapp/jobs/session_timeout_job.rb17 # make sure to definitely log him out if thereCOMMENT
MEDIUMspec/spec_helper.rb61# with RSpec, but feel free to customize to your heart's content.COMMENT
MEDIUMspec/models/channel/email_parser_spec.rb75 # To write new .yml files for emails you can use the following rake task:COMMENT
MEDIUMspec/models/channel/email_parser_spec.rb79 # To renew all existing files, you can use the following rake task:COMMENT
LOWspec/system/keyboard_shortcuts_spec.rb115 within :active_content, '.newTicket' do # make sure to close new ticketCODE
LOWspec/support/capybara/form_helpers.rb25 # # In case of ambiguous labels, make sure to pass `exact_text` optionCOMMENT
LOW.github/workflows/packager.io.yaml6 # Test builds for public branches based on develop. Don't forget to clean up test branches in go.packager.io afterCOMMENT
LOW…core_ext/activesupport/lib/active_support/callbacks.rb9 # to access one after the block has been processed make sure to initialize the variableCOMMENT
LOWlib/import/otrs.rb50 # make sure to create store type otherwiseCOMMENT
LOWlib/import/otrs/article.rb99 # if no content type is set make sure to remove itCOMMENT
Verbosity Indicators12 hits · 23 pts
SeverityFileLineSnippetContext
LOW…er/apollo/cache/utils/registerOffsetStylePagination.ts20 // TODO: Do we need to check if item already exists...? What is happening in the cursor pagination?COMMENT
LOW…omponents/Form/fields/FieldEditor/FieldEditorInput.vue100// TODO: extensions are in general not reactive in TipTap, we need to check if all things are working as expected.COMMENT
LOW…p/components/CommonTable/__tests__/TableHeader.spec.ts139 // Step 1: Select all loadedCOMMENT
LOWapp/models/avatar/triggers_subscriptions.rb40 # We need to check if the default avatar was deleted.COMMENT
LOWapp/models/concerns/can_search.rb192 # Thus we need to check if method exist instead of using try()!COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb24 # Step 1: Fill in basic information and select agent type.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb30 # Step 2: Select attribute.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb35 # Step 3: Select attributes and provide descriptions.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb83 # Step 1: Check the name and the selected agent type.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb90 # Step 2: Check selected attribute.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb95 # Step 3: Check selected attributes and descriptions.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb102 # Step 4: Check meta data.COMMENT
Example Usage Blocks14 hits · 21 pts
SeverityFileLineSnippetContext
LOW.gitlab/dependency_digest.rb26# Usage:COMMENT
LOWapp/models/ticket/article.rb112 # Example usage:COMMENT
LOWspec/support/capybara/form_helpers.rb15 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb46 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb110 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb159 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb208 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb257 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb299 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb342 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb382 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb407 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb433 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb459 # Usage:COMMENT
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOW…p/components/CommonTable/__tests__/TableHeader.spec.ts139 // Step 1: Select all loadedCOMMENT
LOWspec/models/store_spec.rb5# NOTE: This class uses custom .add & .remove methodsCOMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb24 # Step 1: Fill in basic information and select agent type.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb30 # Step 2: Select attribute.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb35 # Step 3: Select attributes and provide descriptions.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb83 # Step 1: Check the name and the selected agent type.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb90 # Step 2: Check selected attribute.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb95 # Step 3: Check selected attributes and descriptions.COMMENT
LOW⚡…system/manage/ai/agent/type/ticket_categorizer_spec.rb102 # Step 4: Check meta data.COMMENT
LOWspec/lib/notification_factory_spec.rb6 # WARNING: This spec relies on the presence ofCOMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…phql/factories/types/KnowledgeBaseAnswerTranslation.ts27 // compares it against the locale it was routed to, and an auto-generated code would putCOMMENT
HIGH…cket/TicketPopoverWithTrigger/TicketContentPopover.vue55// only, which carries the note that marks both of them as AI-generated.COMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…SetupImportSource/GuidedSetupImportSourceFreshdesk.vue67 link: 'https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key',CODE
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWapp/assets/javascripts/app/lib/core/jquery-3.6.0.js4405function getData( data ) {CODE
LOWapp/assets/javascripts/app/lib/flot/jquery.flot.js494 function processData() {CODE