AI Slop Code Risk Monitor

formbricks/formbricks

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

Open Source Qualtrics Alternative

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for formbricks/formbricks, a TypeScript project with 13,200 GitHub stars. SynthScan examined 1,081,211 lines of code across 6148 source files, recording 667 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 0.9 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
13.2K
Stars
TypeScript
Language
1.1M
Lines of Code
6.1K
Files
667
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 2.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.4/100 · LOW

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

Agent Over-Engineering Ratio 1.4/100 · LOW

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

PR Review Velocity Impact 4.0/100 · LOW

Which changes need focused human review? 667 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 12HIGH 2MEDIUM 48LOW 605

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 667 distinct pattern matches across 14 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 Identifiers201 hits · 204 pts
SeverityFileLineSnippetContext
LOWdocker/cube/cube.js6function assertRequiredEnvironmentVariable(name) {CODE
LOWdocker/cube/cube.js67function collectTimeDimensionMembers(timeDimensions) {CODE
LOWdocker/cube/cube.js115function assertValidSecurityContext(securityContext) {CODE
LOWdocker/cube/cube.js139function assertNoCallerTenantMember(query) {CODE
LOWdocker/cube/cube.js171function logCubeQuerySecurityContextFailure(query, error) {CODE
LOWdocker/cube/cube.js216function normalizeCaseInsensitiveFilter(filter) {CODE
LOWdocker/cube/cube.js246function normalizeCaseInsensitiveFilters(filters) {CODE
LOWcharts/formbricks/cube/cube.js6function assertRequiredEnvironmentVariable(name) {CODE
LOWcharts/formbricks/cube/cube.js67function collectTimeDimensionMembers(timeDimensions) {CODE
LOWcharts/formbricks/cube/cube.js115function assertValidSecurityContext(securityContext) {CODE
LOWcharts/formbricks/cube/cube.js139function assertNoCallerTenantMember(query) {CODE
LOWcharts/formbricks/cube/cube.js171function logCubeQuerySecurityContextFailure(query, error) {CODE
LOWcharts/formbricks/cube/cube.js216function normalizeCaseInsensitiveFilter(filter) {CODE
LOWcharts/formbricks/cube/cube.js246function normalizeCaseInsensitiveFilters(filters) {CODE
LOW…0119123112_migrate_legacy_validation_to_rules/utils.ts110export function migrateFileUploadExtensions(element: SurveyElement): void {CODE
LOW…n/20260401000001_promote_dev_environments/migration.ts294async function deleteRemainingDevEnvironments(tx: TxClient): Promise<void> {CODE
LOW…260204174943_migrate_storage_urls_to_relative/utils.ts13export function convertStorageUrlToRelative(url: string): string {CODE
LOW…260204174943_migrate_storage_urls_to_relative/utils.ts80export function containsAbsoluteStorageUrl(obj: unknown): boolean {CODE
LOW…es/survey-ui/src/components/elements/single-select.tsx179function SingleSelectDropdownVariant({CODE
LOW…es/survey-ui/src/components/elements/single-select.tsx385function getOptionContainerClassName(isSelected: boolean, disabled: boolean): string {CODE
LOWpackages/i18n-utils/src/scan-translations.ts315function checkIncompleteTranslations(CODE
LOWpackages/i18n-utils/src/scan-translations.ts559async function loadDefaultLocaleWithValues(CODE
LOW…/components/elements/multiple-choice-multi-element.tsx24export function MultipleChoiceMultiElement({CODE
LOW…components/elements/multiple-choice-single-element.tsx24export function MultipleChoiceSingleElement({CODE
LOWpackages/surveys/src/lib/language-display-name.ts269export function getShortLanguageDisplayName(code: string): string {CODE
LOW…ages/email/emails/auth/password-reset-notify-email.tsx28export default function PasswordResetNotifyEmailPreview(): React.JSX.Element {CODE
LOWpackages/email/emails/auth/new-email-verification.tsx38export default function NewEmailVerificationPreview(): React.JSX.Element {CODE
LOWpackages/email/emails/auth/delete-account-email.tsx41export default function DeleteAccountEmailPreview(): React.JSX.Element {CODE
LOWpackages/email/emails/auth/forgot-password-email.tsx40export default function ForgotPasswordEmailPreview(): React.JSX.Element {CODE
LOWpackages/email/emails/auth/sso-sign-in-hint-email.tsx64export default function SsoSignInHintEmailPreview(): React.JSX.Element {CODE
LOW…ail/emails/auth/sso-recovery-factors-removed-email.tsx32export function SsoRecoveryFactorsRemovedEmail({CODE
LOW…ail/emails/auth/sso-recovery-factors-removed-email.tsx79export default function SsoRecoveryFactorsRemovedEmailPreview(): React.JSX.Element {CODE
LOW…l/emails/general/email-customization-preview-email.tsx14export function EmailCustomizationPreviewEmail({CODE
LOW…l/emails/general/email-customization-preview-email.tsx30export default function EmailCustomizationPreviewEmailPreview(): React.JSX.Element {CODE
LOW…ail/emails/retention/survey-retention-notice-email.tsx42export function SurveyRetentionNoticeEmail({CODE
LOW…ail/emails/retention/survey-retention-notice-email.tsx105export default function SurveyRetentionNoticeEmailPreview(): React.JSX.Element {CODE
LOW…ail/emails/retention/member-retention-notice-email.tsx23export function MemberRetentionNoticeEmail({CODE
LOW…ail/emails/retention/member-retention-notice-email.tsx45export default function MemberRetentionNoticeEmailPreview(): React.JSX.Element {CODE
LOWpackages/email/emails/invite/invite-accepted-email.tsx32export default function InviteAcceptedEmailPreview(): React.JSX.Element {CODE
LOW…ges/email/emails/survey/embed-survey-preview-email.tsx40export default function EmbedSurveyPreviewEmailPreview(): React.JSX.Element {CODE
LOW…ckages/email/emails/survey/response-finished-email.tsx197export default function ResponseFinishedEmailPreview(): React.JSX.Element {CODE
LOW⚡packages/email/src/lib/render.ts38export async function renderForgotPasswordEmail(CODE
LOW⚡packages/email/src/lib/render.ts48export async function renderAccountDeletionEmail(CODE
LOW⚡packages/email/src/lib/render.ts58export async function renderNewEmailVerification(CODE
LOW⚡packages/email/src/lib/render.ts67export async function renderPasswordResetNotifyEmail(CODE
LOW⚡packages/email/src/lib/render.ts73export async function renderSsoRecoveryFactorsRemovedEmail(CODE
LOWpackages/email/src/lib/render.ts95export async function renderSurveyRetentionNoticeEmail(CODE
LOWpackages/email/src/lib/render.ts107export async function renderMemberRetentionNoticeEmail(CODE
LOWpackages/email/src/lib/render.ts129export async function renderInviteAcceptedEmail(CODE
LOWpackages/email/src/lib/render.ts150export async function renderEmbedSurveyPreviewEmail(CODE
LOWpackages/email/src/lib/render.ts161export async function renderResponseFinishedEmail(CODE
LOWpackages/email/src/lib/render.ts167export async function renderEmailCustomizationPreviewEmail(CODE
LOW…/app/api/v1/management/responses/[responseId]/route.ts25async function fetchAndAuthorizeResponse(CODE
LOW…/web/app/api/internal/retention-runs/lib/operations.ts14export async function listRetentionRunsOperation({CODE
LOW…p/api/internal/retention-runs/export/lib/operations.ts35export async function exportRetentionRunsOperation({CODE
LOWapps/web/app/api/internal/charts/lib/operations.ts190export async function listInternalMatrixQuestions({CODE
LOW…pp/api/internal/retention-exemptions/lib/operations.ts51export async function listRetentionExemptionsOperation({CODE
LOW…pp/api/internal/retention-exemptions/lib/operations.ts102export async function getRetentionExemptionOperation({CODE
LOW…pp/api/internal/retention-exemptions/lib/operations.ts145export async function createRetentionExemptionOperation({CODE
LOW…pp/api/internal/retention-exemptions/lib/operations.ts223export async function revokeRetentionExemptionOperation({CODE
141 more matches not shown…
Over-Commented Block197 hits · 195 pts
SeverityFileLineSnippetContext
LOWdocker-compose.dev.yml1# Google credentials for the Hub's Vertex enrichment providers (the google-gemini provider) are readCOMMENT
LOWdocker-compose.dev.yml21# A YAML merge key (<<:) only works on mappings, and volumes is a sequence, so this is a plainCOMMENT
LOWdocker-compose.dev.yml261 EMBEDDING_GOOGLE_CLOUD_PROJECT: ${EMBEDDING_GOOGLE_CLOUD_PROJECT:-}COMMENT
LOWplaywright.config.ts81 // {COMMENT
LOWplaywright.config.ts101 // {COMMENT
LOW.coderabbit.yaml1# CodeRabbit configuration — see https://docs.coderabbit.ai/reference/configurationCOMMENT
LOW.coderabbit.yaml61 # reports everything else as "excluded by none and included by none". That is what theCOMMENT
LOWpnpm-workspace.yaml21# workspaces. Packages reference these as `"typescript": "catalog:"` and never as aCOMMENT
LOWpnpm-workspace.yaml121# Security overrides for transitive dependencies that still fail audit without a pin.COMMENT
LOWpnpm-workspace.yaml141 # Pin every affected instrumentation, including nested Sentry copies, to its first patched release.COMMENT
LOWpnpm-workspace.yaml161 # DoS via a long hyphen-separated language tag.COMMENT
LOWpnpm-workspace.yaml181 # The 7.x line no longer needs a pin: @grpc/proto-loader and the older otlp-transformer lines resolveCOMMENT
LOWpnpm-workspace.yaml201 # `parseFromString(xml)` without a mimeType, which every 0.9 release throws on, so on 0.9 jackson can neitherCOMMENT
LOWpnpm-workspace.yaml221 # load-bearing: pino-pretty resolves 4.0.2.COMMENT
LOWpnpm-workspace.yaml241 # GHSA-p98j-92pf-mc4p / GHSA-6688-9rhm-gjv2: IN_PLACE sanitization leaves executable removed roots.COMMENT
LOWpnpm-workspace.yaml261 ip-address@10: 10.7.5COMMENT
LOWpnpm-workspace.yaml281 esbuild: 0.28.1 # ENG-1327 / GHSA-g7r4-m6w7-qqqr (>=0.27.3 <0.28.1). load-bearing: vite@7/tsx/storybook resolve 0.27.7COMMENT
LOWpnpm-workspace.yaml301 # from 4.3.1 to 4.3.2 (still <5).COMMENT
LOWpnpm-workspace.yaml321 # redirect cache findings; patched in 6.29.1 and 7.30.1.COMMENT
LOWpnpm-workspace.yaml341 "@opentelemetry/propagator-jaeger": 2.9.0COMMENT
LOWpnpm-workspace.yaml361 # attacker-chosen host (or an injected CRLF).COMMENT
LOWpnpm-workspace.yaml381 # of two consumers, both of which declare a 7.x dependency — verified safe: @prisma/config onlyCOMMENT
LOWpnpm-workspace.yaml401 # load-bearing: prisma resolves 3.15.3 (dev-only Prisma CLI, mysql adapter) and better-auth /COMMENT
LOWpnpm-workspace.yaml421 # the parse -> stringify round-trip throws an uncaught `TypeError`. Both patched in 6.16.0.COMMENT
LOWpnpm-workspace.yaml441 # (compressed_size=0xFFFFFFFF) but omits the required ZIP64 extra field; the out-of-bounds read thatCOMMENT
LOWpnpm-workspace.yaml461 # can throw an uncaught exception and crash the process (DoS). Patched in 6.6.10, the lowest fix.COMMENT
LOWpnpm-workspace.yaml481 brace-expansion@1: 1.1.21COMMENT
LOWpnpm-workspace.yaml501 # resource server must answer. (An earlier note here claimed 1.7 drops `verifyOptions.audience`COMMENT
LOWpnpm-workspace.yaml521# 3 days (4320 minutes) ago, so compromised releases are usually detected/yanked before weCOMMENT
LOWpnpm-workspace.yaml541patchedDependencies:COMMENT
LOWdocker/docker-compose.yml81COMMENT
LOWdocker/docker-compose.yml101COMMENT
LOWdocker/docker-compose.yml121 # INVITE_RATE_LIMIT_PER_24_HOURS: 50COMMENT
LOWdocker/docker-compose.yml141 # Set S3 Storage configuration (required for the file upload in serverless environments)COMMENT
LOWdocker/docker-compose.yml161 # RECAPTCHA_SECRET_KEY:COMMENT
LOWdocker/docker-compose.yml181 # OIDC_SIGNING_ALGORITHM:COMMENT
LOWdocker/docker-compose.yml201 # SLACK_CLIENT_ID:COMMENT
LOWdocker/docker-compose.yml221 # RATE_LIMITING_DISABLED: 1COMMENT
LOWdocker/docker-compose.yml241 # Set the below to get the ip address of the user from the request headersCOMMENT
LOWdocker/cube-image/.trivyignore.yaml1# Findings the Trivy gate in .github/workflows/cube-image.yml accepts. Each entry needs a one-lineCOMMENT
LOWdocker/cube-image/smoke-test.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/cube/schema/FeedbackRecords.js361 // The regex accepts both a jsonb number (rendered '42' / '42.5' by ->>) and the string form;COMMENT
LOWcharts/formbricks/values.yaml1# Override the name for the application.COMMENT
LOWcharts/formbricks/values.yaml21 # Optional: Public URL for surveys (defaults to webappUrl if not set)COMMENT
LOWcharts/formbricks/values.yaml81 # rollingUpdate:COMMENT
LOWcharts/formbricks/values.yaml121 envFrom:COMMENT
LOWcharts/formbricks/values.yaml601# Setting both will cause a helm install/upgrade failure.COMMENT
LOWcharts/formbricks/values.yaml621 # maxUnavailable: 1COMMENT
LOWcharts/formbricks/values.yaml681 # migrationAcknowledged=true only after that preparation has completed successfully.COMMENT
LOWcharts/formbricks/values.yaml741 # dedicated `spicedb` role and database. It needs CREATEROLE and CREATEDB,COMMENT
LOWcharts/formbricks/values.yaml1201 # The app secret still needs HUB_API_KEY as well because the web app talks to Hub directly.COMMENT
LOWcharts/formbricks/cube/schema/FeedbackRecords.js361 // The regex accepts both a jsonb number (rendered '42' / '42.5' by ->>) and the string form;COMMENT
LOWcharts/formbricks/tests/authzed-bootstrap-runtime.sh1#!/usr/bin/env bashCOMMENT
LOWauthzed/schema-validation.yaml1# Validation suite for the canonical Formbricks authorization schema.COMMENT
LOWauthzed/schema-validation.yaml21# api_key_writer api_key:org_writer_key (accessControl.write)COMMENT
LOWauthzed/schema-validation.yaml161 # ------------------------------------------------------------------COMMENT
LOWauthzed/schema-validation.yaml201 - response:r1#export_v2@user:umaCOMMENT
LOWdocs/api-v3-reference/redocly.yaml1# Lint configuration for the v3 OpenAPI source tree (used by `pnpm api:v3:lint` via scripts/bundle.mjs).COMMENT
LOWdocs/api-v3-reference/contract-tests/schemathesis.toml1# Schemathesis configuration for the v3 API contract tests (ENG-2191).COMMENT
LOWdocs/api-v3-reference/contract-tests/schemathesis.toml21# which reads as a green run that proves nothing. `fill-missing` generates theCOMMENT
137 more matches not shown…
Fake / Example Data160 hits · 164 pts
SeverityFileLineSnippetContext
LOWdocker/README.md219TAXONOMY_LLM_API_KEY=<api-key-or-dummy-value>CODE
LOWdocs/api-reference/openapi.json536 "placeholder": {CODE
LOWdocs/api-reference/openapi.json4539 "placeholder": {CODE
LOWdocs/api-reference/openapi.json4627 "placeholder": {CODE
LOWdocs/api-reference/openapi.json4810 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5003 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5091 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5328 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5416 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5640 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5728 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5902 "placeholder": {CODE
LOWdocs/api-reference/openapi.json5990 "placeholder": {CODE
LOWpackages/database/zod/users.ts41 example: "John Doe",CODE
LOWpackages/types/common.test.ts67 expect(ZEndingCardButtonLink.safeParse("mailto:a@example.com,b@example.org").success).toBe(true);CODE
LOWpackages/types/surveys/validation.ts112 placeholder: "placeholder",CODE
LOWpackages/types/surveys/elements-validation.ts34 placeholder: "placeholder",CODE
LOWpackages/types/surveys/types.ts1198 const initialFieldsToValidate = ["buttonLabel", "upperLabel", "lowerLabel", "label", "placeholder"];CODE
LOWpackages/types/surveys/types.ts1238 "placeholder",CODE
LOWpackages/types/surveys/types.ts1625 "placeholder",CODE
LOW…urvey-ui/src/components/elements/open-text.stories.tsx195 value: "John Doe",CODE
LOWpackages/workflows/src/types/content.test.ts65 const filled = { to: "user@example.com", subject: "Hello", body: "<p>Hi</p>" };CODE
LOW…s/src/types/__fixtures__/workflow-definition.full.json95 "right": "@example.org"CODE
LOWpackages/surveys/src/lib/response.test.ts43 expect(processResponseData({ name: "John Doe", age: "30" })).toBe("name: John Doe\nage: 30");CODE
LOWpackages/surveys/src/lib/response.test.ts45 expect(processResponseData({ age: "30", name: "John Doe" })).toBe("age: 30\nname: John Doe");CODE
LOWpackages/surveys/src/lib/recall.test.ts26 name: "John Doe",CODE
LOWpackages/surveys/src/lib/recall.test.ts152 name: "John Doe",CODE
LOWpackages/surveys/src/lib/validation/evaluator.test.ts751 const result = validateElementResponse(element, ["123 Main St", "", "NY", "", "", ""], "en");CODE
LOWpackages/surveys/src/lib/validation/evaluator.test.ts772 const result = validateElementResponse(element, ["123 Main St", "", "New York", "", "", ""], "en");CODE
LOWpackages/surveys/src/lib/validation/evaluator.ts63 if (fieldConfig && "placeholder" in fieldConfig) {CODE
LOWpackages/surveys/src/lib/validation/evaluator.ts70 if (fieldConfig && "placeholder" in fieldConfig) {CODE
LOWpackages/email/src/lib/example-data.ts75 inviterName: "John Doe",CODE
LOWpackages/email/src/lib/example-data.ts80 inviterName: "John Doe",CODE
LOWpackages/js-core/src/lib/user/tests/attribute.test.ts6 name: "John Doe",CODE
LOW…es/js-core/src/lib/user/tests/__mocks__/update.mock.ts5 name: "John Doe",CODE
LOW…core/src/lib/user/tests/__mocks__/update-queue.mock.ts4 name: "John Doe",CODE
LOWapps/web/locales/zh-Hans-CN.json464 "placeholder": "占位符",CODE
LOWapps/web/locales/zh-Hans-CN.json4874 "placeholder": "<!-- 在此粘贴你的跟踪脚本 -->\n<script>\n // Google Tag Manager、Analytics 等\n</script>",CODE
LOWapps/web/locales/zh-Hant-TW.json464 "placeholder": "提示文字",CODE
LOWapps/web/locales/zh-Hant-TW.json4874 "placeholder": "<!-- 請在此貼上您的追蹤腳本 -->\n<script>\n // Google Tag Manager、Analytics 等\n</script>",CODE
LOWapps/web/locales/es-ES.json464 "placeholder": "Marcador de posición",CODE
LOWapps/web/locales/es-ES.json4874 "placeholder": "<!-- Pega tus scripts de seguimiento aquí -->\n<script>\n // Google Tag Manager, Analytics, eCODE
LOWapps/web/locales/ja-JP.json464 "placeholder": "プレースホルダー",CODE
LOWapps/web/locales/ja-JP.json4874 "placeholder": "<!-- トラッキングスクリプトをここに貼り付けてください -->\n<script>\n // Google Tag Manager、Analyticsなど\n</script>",CODE
LOWapps/web/locales/tr-TR.json464 "placeholder": "Yer tutucu",CODE
LOWapps/web/locales/tr-TR.json4874 "placeholder": "<!-- İzleme betiklerinizi buraya yapıştırın -->\n<script>\n // Google Tag Manager, Analytics,CODE
LOWapps/web/locales/hu-HU.json464 "placeholder": "Helykitöltő",CODE
LOWapps/web/locales/hu-HU.json4874 "placeholder": "<!-- Ide illessze be a követő parancsfájlokat -->\n<script>\n // Google Tag Manager, AnalyticCODE
LOWapps/web/locales/pt-PT.json464 "placeholder": "Espaço reservado",CODE
LOWapps/web/locales/pt-PT.json4874 "placeholder": "<!-- Cole os seus scripts de rastreamento aqui -->\n<script>\n // Google Tag Manager, AnalytiCODE
LOWapps/web/locales/sv-SE.json464 "placeholder": "Platshållare",CODE
LOWapps/web/locales/sv-SE.json4874 "placeholder": "<!-- Klistra in dina spårningsskript här -->\n<script>\n // Google Tag Manager, Analytics, etCODE
LOWapps/web/locales/ro-RO.json464 "placeholder": "Marcaj substituent",CODE
LOWapps/web/locales/ro-RO.json4874 "placeholder": "<!-- Lipește aici scripturile tale de tracking -->\n<script>\n // Google Tag Manager, AnalytiCODE
LOWapps/web/locales/pt-BR.json464 "placeholder": "Espaço reservado",CODE
LOWapps/web/locales/pt-BR.json4874 "placeholder": "<!-- Cole seus scripts de rastreamento aqui -->\n<script>\n // Google Tag Manager, Analytics,CODE
LOWapps/web/locales/de-DE.json464 "placeholder": "Platzhalter",CODE
LOWapps/web/locales/de-DE.json4874 "placeholder": "<!-- Füge hier deine Tracking-Skripte ein -->\n<script>\n // Google Tag Manager, Analytics, eCODE
LOWapps/web/locales/fr-FR.json464 "placeholder": "Remplaçant",CODE
LOWapps/web/locales/fr-FR.json4874 "placeholder": "<!-- Collez vos scripts de suivi ici -->\n<script>\n // Google Tag Manager, Analytics, etc.\nCODE
100 more matches not shown…
Hallucination Indicators12 hits · 120 pts
SeverityFileLineSnippetContext
CRITICALapps/web/lib/upgrade/online/kubernetes.ts177 if (!workload.spec.template.spec.containers.some((c) => c.image === dependency.image))CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts229 !surge.spec.template.spec.containers.some(CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts310 !workload.spec.template.spec.containers.some((c) => c.image === expected.image)CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts346 workload.spec.template.spec.containers.some(CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts361 workload.spec.template.spec.containers.some(CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts413 !previous.spec.template.spec.containers.some((c) => c.image === this.config.targetImage)CODE
CRITICALapps/web/lib/upgrade/online/kubernetes.ts530 !existing.spec.template.spec.containers.some((c) => c.image === this.config.targetImage)CODE
CRITICALapps/web/lib/response/tests/response.test.ts204 const findUniqueCall = prisma.response.findUnique.mock.calls.at(-1)?.[0];CODE
CRITICALapps/web/lib/survey/service.test.ts1431 const created = prisma.survey.create.mock.results.at(-1)?.value;CODE
CRITICALapps/web/modules/ee/data-retention/sweep/run.test.ts388 expect(tx.retentionRun.update.mock.calls.map((call) => call[0].data)).toEqual([CODE
CRITICALapps/web/modules/storage/utils.test.ts1189 expect(result.level1.level2.level3.level4.level5.imageUrl.startsWith("http")).toBe(true);CODE
CRITICALapps/web/modules/storage/utils.test.ts1205 expect(result.level1.level2.level3.sibling.startsWith("http")).toBe(true);CODE
Decorative Section Separators32 hits · 111 pts
SeverityFileLineSnippetContext
MEDIUMdocker/cube/schema/FeedbackRecords.js297 // ── Response context (ENG-1554 metadata) ──────────────────────────────────COMMENT
MEDIUMdocker/cube/schema/FeedbackRecords.js397 // ── Hub enrichment fields ─────────────────────────────────────────────────COMMENT
MEDIUMdocker/cube/schema/FeedbackRecords.js500 // ── Normalized (LOWER+TRIM) companions ────────────────────────────────────COMMENT
MEDIUMcharts/formbricks/cube/schema/FeedbackRecords.js297 // ── Response context (ENG-1554 metadata) ──────────────────────────────────COMMENT
MEDIUMcharts/formbricks/cube/schema/FeedbackRecords.js397 // ── Hub enrichment fields ─────────────────────────────────────────────────COMMENT
MEDIUMcharts/formbricks/cube/schema/FeedbackRecords.js500 // ── Normalized (LOWER+TRIM) companions ────────────────────────────────────COMMENT
MEDIUMauthzed/schema-validation.yaml114 # ------------------------------------------------------------------COMMENT
MEDIUMauthzed/schema-validation.yaml120 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml161 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml165 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml169 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml174 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml190 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml195 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml203 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml207 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml212 # ------------------------------------------------------------------COMMENT
MEDIUM⚡authzed/schema-validation.yaml217 # ------------------------------------------------------------------COMMENT
MEDIUMpackages/types/analysis.ts3// ── Cube.js Query shape (stored as JSON in Chart.query) ─────────────────────COMMENT
MEDIUMpackages/types/analysis.ts54// ── Chart visualization config (stored as JSON in Chart.config) ─────────────COMMENT
MEDIUMpackages/types/analysis.ts87// ── Widget grid layout (stored as JSON in DashboardWidget.layout) ───────────COMMENT
MEDIUMapps/web/lib/utils/action-client/index.test.ts72// ── shared helper tests (pure logic, no action client needed) ──────────COMMENT
MEDIUMapps/web/modules/ee/analysis/types/analysis.ts9// ── Chart as the app renders it ──────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/types/analysis.ts32// ── Widget as the app renders it ─────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/types/analysis.ts43// ── Charts UI (query execution, AI response) ─────────────────────────────────COMMENT
MEDIUM…/web/modules/ee/analysis/charts/lib/option-grouping.ts15// ── Option-id resolution helpers ──────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/matrix-pivot.ts38// ── Query shape ───────────────────────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/matrix-pivot.ts55// ── The recipe for a matrix question ──────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/matrix-pivot.ts101// ── Pivot ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/matrix-pivot.ts271// ── Display helpers ───────────────────────────────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/chart-utils.ts365// ── Flipped (horizontal) bar chart axis sizing ────────────────────────────────COMMENT
MEDIUMapps/web/modules/ee/analysis/charts/lib/chart-utils.ts422// ── Wrapped axis label sizing ─────────────────────────────────────────────────COMMENT
Verbosity Indicators18 hits · 33 pts
SeverityFileLineSnippetContext
LOWdocker/formbricks.sh1153 # Step 1: Add Traefik labels to formbricks serviceCOMMENT
LOWdocker/formbricks.sh1224 # Step 2: Ensure formbricks waits for rustfs-init to complete successfully (mapping depends_on)COMMENT
LOWdocker/formbricks.sh1256 # Step 3: Build service snippets and inject them BEFORE the volumes section (non-destructive: skip if service exists)COMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts8 // Step 1: Get all existing API keys with related dataCOMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts23 // Step 2: Migrate each API key to the new formatCOMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts48 // Step 3: Create new API key in the ApiKeyNew table and its environment relationCOMMENT
LOW⚡apps/web/app/api/v1/management/me/route.ts74 // Step 1: Fast SHA-256 lookup by indexed lookupHashCOMMENT
LOW⚡apps/web/app/api/v1/management/me/route.ts82 // Step 2: Security verification with bcryptCOMMENT
LOW⚡…/modules/organization/settings/api-keys/lib/api-key.ts84 // Step 1: Fast SHA-256 lookup by indexed lookupHashCOMMENT
LOW⚡…/modules/organization/settings/api-keys/lib/api-key.ts91 // Step 2: Security verification with bcryptCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts621 // Step 2: Extract metadata from CSV dataCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts624 // Step 3: Fetch existing data from databaseCOMMENT
LOWapps/web/modules/ee/contacts/lib/contacts.ts646 // Step 3: Build lookup mapsCOMMENT
LOWapps/web/modules/ee/contacts/lib/contacts.ts662 // Step 4: Detect and validate attribute typesCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts673 // Step 5: Create missing attribute keysCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts682 // Step 6: Process each CSV recordCOMMENT
LOW…les/ee/contacts/segments/components/segment-filter.tsx237 // when the operator changes, we need to check if the value is validCOMMENT
LOW…les/ee/contacts/segments/components/segment-filter.tsx478 // when the operator changes, we need to check if the value is validCOMMENT
AI Slop Vocabulary11 hits · 33 pts
SeverityFileLineSnippetContext
MEDIUMdocker/authzed-smoke.sh576# this harness never runs that scope, so the edge is never reported as an orphan.COMMENT
MEDIUM.github/workflows/api-v3-contract-tests.yml74 # this landed do not contain the harness. Detect it and skip instead of failing every open PR —COMMENT
MEDIUM.github/workflows/integration-tests.yml3# Runs the Better Auth integration harness (apps/web/integration + the *.integration.test.ts files)COMMENT
MEDIUM.github/workflows/integration-tests.yml10 # apps/web holds the auth code under test; packages/** because the harness transitively importsCOMMENT
MEDIUM.github/workflows/integration-tests.yml78 # Branches that predate the Better Auth cutover (#8384) don't contain the integration harness,COMMENT
MEDIUM.github/workflows/integration-tests.yml80 # the base branch) and dangerous-git-checkout checks out the PR *head*. Detect whether the harnessCOMMENT
MEDIUM.github/workflows/integration-tests.yml118 # The harness exercises enterprise-gated flows (e.g. SSO provisioning) by calling the functionsCOMMENT
MEDIUM.github/workflows/integration-tests.yml180 # Shared with apps/web/integration/global-setup.ts (the local harness applies the same file) soCOMMENT
MEDIUMapps/web/playwright/survey-styling.spec.ts361 // The selector needs to be robust.COMMENT
MEDIUMapps/web/playwright/api/auth/security.spec.ts215 // Calculate statistics using median (more robust to outliers)COMMENT
MEDIUMapps/web/playwright/api/auth/security.spec.ts263 // Note: This uses MEDIAN-based comparison (more robust to outliers than mean)COMMENT
Structural Annotation Overuse16 hits · 30 pts
SeverityFileLineSnippetContext
LOWdocker/formbricks.sh1153 # Step 1: Add Traefik labels to formbricks serviceCOMMENT
LOWdocker/formbricks.sh1224 # Step 2: Ensure formbricks waits for rustfs-init to complete successfully (mapping depends_on)COMMENT
LOWdocker/formbricks.sh1256 # Step 3: Build service snippets and inject them BEFORE the volumes section (non-destructive: skip if service exists)COMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts8 // Step 1: Get all existing API keys with related dataCOMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts23 // Step 2: Migrate each API key to the new formatCOMMENT
LOW…50326111101_move_api_keys_to_api_keys_new/migration.ts48 // Step 3: Create new API key in the ApiKeyNew table and its environment relationCOMMENT
LOW⚡apps/web/app/api/v1/management/me/route.ts74 // Step 1: Fast SHA-256 lookup by indexed lookupHashCOMMENT
LOW⚡apps/web/app/api/v1/management/me/route.ts82 // Step 2: Security verification with bcryptCOMMENT
LOW⚡…/modules/organization/settings/api-keys/lib/api-key.ts84 // Step 1: Fast SHA-256 lookup by indexed lookupHashCOMMENT
LOW⚡…/modules/organization/settings/api-keys/lib/api-key.ts91 // Step 2: Security verification with bcryptCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts621 // Step 2: Extract metadata from CSV dataCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts624 // Step 3: Fetch existing data from databaseCOMMENT
LOWapps/web/modules/ee/contacts/lib/contacts.ts646 // Step 3: Build lookup mapsCOMMENT
LOWapps/web/modules/ee/contacts/lib/contacts.ts662 // Step 4: Detect and validate attribute typesCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts673 // Step 5: Create missing attribute keysCOMMENT
LOW⚡apps/web/modules/ee/contacts/lib/contacts.ts682 // Step 6: Process each CSV recordCOMMENT
Redundant / Tautological Comments11 hits · 16 pts
SeverityFileLineSnippetContext
LOWdocker/docker-compose.yml15 # Set this to your public-facing URL, e.g., example http://localhost:3000 or https://example.comCOMMENT
LOWdocker/migrate-to-v4.sh693 # Check if service existsCOMMENT
LOWdocker/migrate-to-v4.sh705 # Check if dependency is already present in the service depends_on sectionCOMMENT
LOWdocker/migrate-to-v4.sh1038 # Check if this is a container-based uploads directoryCOMMENT
LOWdocker/migrate-to-v4.sh1156 # Check if we're in the right directoryCOMMENT
LOWdocker/migrate-to-v4.sh1173 # Check if MinIO is already configured unless migrating onlyCOMMENT
LOWdocker/migrate-to-v4.sh1469# Check if script is being run directlyCOMMENT
LOWcharts/formbricks/values.yaml680 # Set this to false only when an operator performs the same guarded cutover externally, and setCOMMENT
LOW.github/workflows/docker-build-validation.yml717 # Check if container is still runningCOMMENT
LOW.github/actions/resolve-docker-version/action.yml188 # Output resultsCOMMENT
LOWapps/web/scripts/docker/next-start.sh53# Check if migrations should be skipped (e.g., when using Helm migration job)COMMENT
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMdocker/migrate-to-v4.sh1065 # Create a temporary container to handle the migrationCOMMENT
MEDIUMcharts/formbricks/templates/service.yaml23 # Define the service type (ClusterIP, NodePort, LoadBalancer)COMMENT
MEDIUMcharts/formbricks/templates/service.yaml38 # Define the exposed service portsCOMMENT
MEDIUMcharts/formbricks/templates/serviceaccount.yaml6 # Define the ServiceAccount name, either from values or generatedCOMMENT
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHpackages/surveys/README.md67 LINGO_API_KEY=<YOUR_API_KEY>CODE
HIGHpackages/surveys/README.md67 LINGO_API_KEY=<YOUR_API_KEY>CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMpnpm-workspace.yaml498 # the verified `aud` against its own allow-list (ENG-2339). That is not leftover scaffolding from thisCOMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/api-v3-reference/contract-tests/hooks.py22CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/api-v3-reference/contract-tests/hooks.py93CODE